/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, 21 ms] (6) HASKELL (7) LetRed [EQUIVALENT, 0 ms] (8) HASKELL (9) NumRed [SOUND, 0 ms] (10) HASKELL (11) Narrow [SOUND, 0 ms] (12) AND (13) QDP (14) DependencyGraphProof [EQUIVALENT, 0 ms] (15) AND (16) QDP (17) QDPOrderProof [EQUIVALENT, 0 ms] (18) QDP (19) DependencyGraphProof [EQUIVALENT, 0 ms] (20) QDP (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] (22) YES (23) QDP (24) MRRProof [EQUIVALENT, 0 ms] (25) QDP (26) PisEmptyProof [EQUIVALENT, 0 ms] (27) YES (28) QDP (29) TransformationProof [EQUIVALENT, 1 ms] (30) QDP (31) UsableRulesProof [EQUIVALENT, 0 ms] (32) QDP (33) QReductionProof [EQUIVALENT, 0 ms] (34) QDP (35) TransformationProof [EQUIVALENT, 0 ms] (36) QDP (37) UsableRulesProof [EQUIVALENT, 0 ms] (38) QDP (39) QReductionProof [EQUIVALENT, 0 ms] (40) QDP (41) InductionCalculusProof [EQUIVALENT, 0 ms] (42) QDP (43) TransformationProof [EQUIVALENT, 0 ms] (44) QDP (45) TransformationProof [EQUIVALENT, 0 ms] (46) QDP (47) UsableRulesProof [EQUIVALENT, 0 ms] (48) QDP (49) TransformationProof [EQUIVALENT, 0 ms] (50) QDP (51) UsableRulesProof [EQUIVALENT, 0 ms] (52) QDP (53) TransformationProof [EQUIVALENT, 0 ms] (54) QDP (55) DependencyGraphProof [EQUIVALENT, 0 ms] (56) QDP (57) UsableRulesProof [EQUIVALENT, 0 ms] (58) QDP (59) TransformationProof [EQUIVALENT, 0 ms] (60) QDP (61) UsableRulesProof [EQUIVALENT, 0 ms] (62) QDP (63) TransformationProof [EQUIVALENT, 0 ms] (64) QDP (65) DependencyGraphProof [EQUIVALENT, 0 ms] (66) QDP (67) UsableRulesProof [EQUIVALENT, 0 ms] (68) QDP (69) TransformationProof [EQUIVALENT, 0 ms] (70) QDP (71) UsableRulesProof [EQUIVALENT, 0 ms] (72) QDP (73) TransformationProof [EQUIVALENT, 0 ms] (74) QDP (75) DependencyGraphProof [EQUIVALENT, 0 ms] (76) QDP (77) UsableRulesProof [EQUIVALENT, 0 ms] (78) QDP (79) TransformationProof [EQUIVALENT, 0 ms] (80) QDP (81) DependencyGraphProof [EQUIVALENT, 0 ms] (82) QDP (83) UsableRulesProof [EQUIVALENT, 0 ms] (84) QDP (85) QReductionProof [EQUIVALENT, 0 ms] (86) QDP (87) TransformationProof [EQUIVALENT, 0 ms] (88) QDP (89) DependencyGraphProof [EQUIVALENT, 0 ms] (90) QDP (91) TransformationProof [EQUIVALENT, 0 ms] (92) QDP (93) TransformationProof [EQUIVALENT, 0 ms] (94) QDP (95) TransformationProof [EQUIVALENT, 0 ms] (96) QDP (97) TransformationProof [EQUIVALENT, 0 ms] (98) QDP (99) TransformationProof [EQUIVALENT, 0 ms] (100) QDP (101) TransformationProof [EQUIVALENT, 0 ms] (102) QDP (103) DependencyGraphProof [EQUIVALENT, 0 ms] (104) QDP (105) TransformationProof [EQUIVALENT, 0 ms] (106) QDP (107) TransformationProof [EQUIVALENT, 0 ms] (108) QDP (109) TransformationProof [EQUIVALENT, 0 ms] (110) QDP (111) DependencyGraphProof [EQUIVALENT, 0 ms] (112) QDP (113) TransformationProof [EQUIVALENT, 0 ms] (114) QDP (115) TransformationProof [EQUIVALENT, 0 ms] (116) QDP (117) TransformationProof [EQUIVALENT, 0 ms] (118) QDP (119) TransformationProof [EQUIVALENT, 0 ms] (120) QDP (121) TransformationProof [EQUIVALENT, 0 ms] (122) QDP (123) TransformationProof [EQUIVALENT, 0 ms] (124) QDP (125) DependencyGraphProof [EQUIVALENT, 0 ms] (126) QDP (127) TransformationProof [EQUIVALENT, 0 ms] (128) QDP (129) TransformationProof [EQUIVALENT, 0 ms] (130) QDP (131) TransformationProof [EQUIVALENT, 0 ms] (132) QDP (133) DependencyGraphProof [EQUIVALENT, 0 ms] (134) QDP (135) TransformationProof [EQUIVALENT, 0 ms] (136) QDP (137) TransformationProof [EQUIVALENT, 0 ms] (138) QDP (139) TransformationProof [EQUIVALENT, 0 ms] (140) QDP (141) TransformationProof [EQUIVALENT, 0 ms] (142) QDP (143) TransformationProof [EQUIVALENT, 0 ms] (144) QDP (145) TransformationProof [EQUIVALENT, 0 ms] (146) QDP (147) DependencyGraphProof [EQUIVALENT, 0 ms] (148) QDP (149) TransformationProof [EQUIVALENT, 0 ms] (150) QDP (151) TransformationProof [EQUIVALENT, 0 ms] (152) QDP (153) TransformationProof [EQUIVALENT, 0 ms] (154) QDP (155) DependencyGraphProof [EQUIVALENT, 0 ms] (156) QDP (157) TransformationProof [EQUIVALENT, 0 ms] (158) QDP (159) TransformationProof [EQUIVALENT, 0 ms] (160) QDP (161) TransformationProof [EQUIVALENT, 0 ms] (162) QDP (163) TransformationProof [EQUIVALENT, 0 ms] (164) QDP (165) TransformationProof [EQUIVALENT, 0 ms] (166) QDP (167) TransformationProof [EQUIVALENT, 0 ms] (168) QDP (169) DependencyGraphProof [EQUIVALENT, 0 ms] (170) QDP (171) TransformationProof [EQUIVALENT, 0 ms] (172) QDP (173) TransformationProof [EQUIVALENT, 0 ms] (174) QDP (175) TransformationProof [EQUIVALENT, 0 ms] (176) QDP (177) TransformationProof [EQUIVALENT, 0 ms] (178) QDP (179) TransformationProof [EQUIVALENT, 0 ms] (180) QDP (181) TransformationProof [EQUIVALENT, 0 ms] (182) QDP (183) TransformationProof [EQUIVALENT, 0 ms] (184) QDP (185) TransformationProof [EQUIVALENT, 0 ms] (186) QDP (187) TransformationProof [EQUIVALENT, 0 ms] (188) QDP (189) TransformationProof [EQUIVALENT, 0 ms] (190) QDP (191) TransformationProof [EQUIVALENT, 0 ms] (192) QDP (193) TransformationProof [EQUIVALENT, 0 ms] (194) QDP (195) TransformationProof [EQUIVALENT, 0 ms] (196) QDP (197) TransformationProof [EQUIVALENT, 0 ms] (198) QDP (199) DependencyGraphProof [EQUIVALENT, 0 ms] (200) QDP (201) TransformationProof [EQUIVALENT, 0 ms] (202) QDP (203) TransformationProof [EQUIVALENT, 0 ms] (204) QDP (205) TransformationProof [EQUIVALENT, 0 ms] (206) QDP (207) TransformationProof [EQUIVALENT, 0 ms] (208) QDP (209) TransformationProof [EQUIVALENT, 0 ms] (210) QDP (211) TransformationProof [EQUIVALENT, 0 ms] (212) QDP (213) TransformationProof [EQUIVALENT, 0 ms] (214) QDP (215) DependencyGraphProof [EQUIVALENT, 0 ms] (216) QDP (217) TransformationProof [EQUIVALENT, 0 ms] (218) QDP (219) TransformationProof [EQUIVALENT, 0 ms] (220) QDP (221) TransformationProof [EQUIVALENT, 0 ms] (222) QDP (223) TransformationProof [EQUIVALENT, 0 ms] (224) QDP (225) TransformationProof [EQUIVALENT, 0 ms] (226) QDP (227) TransformationProof [EQUIVALENT, 0 ms] (228) QDP (229) TransformationProof [EQUIVALENT, 0 ms] (230) QDP (231) TransformationProof [EQUIVALENT, 0 ms] (232) QDP (233) TransformationProof [EQUIVALENT, 0 ms] (234) QDP (235) TransformationProof [EQUIVALENT, 0 ms] (236) QDP (237) TransformationProof [EQUIVALENT, 0 ms] (238) QDP (239) TransformationProof [EQUIVALENT, 0 ms] (240) QDP (241) TransformationProof [EQUIVALENT, 0 ms] (242) QDP (243) TransformationProof [EQUIVALENT, 0 ms] (244) QDP (245) DependencyGraphProof [EQUIVALENT, 0 ms] (246) QDP (247) TransformationProof [EQUIVALENT, 0 ms] (248) QDP (249) TransformationProof [EQUIVALENT, 0 ms] (250) QDP (251) TransformationProof [EQUIVALENT, 0 ms] (252) QDP (253) TransformationProof [EQUIVALENT, 0 ms] (254) QDP (255) TransformationProof [EQUIVALENT, 0 ms] (256) QDP (257) TransformationProof [EQUIVALENT, 0 ms] (258) QDP (259) TransformationProof [EQUIVALENT, 0 ms] (260) QDP (261) DependencyGraphProof [EQUIVALENT, 0 ms] (262) QDP (263) TransformationProof [EQUIVALENT, 0 ms] (264) QDP (265) TransformationProof [EQUIVALENT, 0 ms] (266) QDP (267) TransformationProof [EQUIVALENT, 0 ms] (268) QDP (269) TransformationProof [EQUIVALENT, 0 ms] (270) QDP (271) TransformationProof [EQUIVALENT, 0 ms] (272) QDP (273) TransformationProof [EQUIVALENT, 0 ms] (274) QDP (275) TransformationProof [EQUIVALENT, 0 ms] (276) QDP (277) TransformationProof [EQUIVALENT, 0 ms] (278) QDP (279) TransformationProof [EQUIVALENT, 0 ms] (280) QDP (281) TransformationProof [EQUIVALENT, 0 ms] (282) QDP (283) TransformationProof [EQUIVALENT, 0 ms] (284) QDP (285) TransformationProof [EQUIVALENT, 0 ms] (286) QDP (287) TransformationProof [EQUIVALENT, 0 ms] (288) QDP (289) TransformationProof [EQUIVALENT, 0 ms] (290) QDP (291) DependencyGraphProof [EQUIVALENT, 0 ms] (292) QDP (293) TransformationProof [EQUIVALENT, 0 ms] (294) QDP (295) TransformationProof [EQUIVALENT, 0 ms] (296) QDP (297) TransformationProof [EQUIVALENT, 0 ms] (298) QDP (299) TransformationProof [EQUIVALENT, 0 ms] (300) QDP (301) TransformationProof [EQUIVALENT, 0 ms] (302) QDP (303) TransformationProof [EQUIVALENT, 0 ms] (304) QDP (305) TransformationProof [EQUIVALENT, 0 ms] (306) QDP (307) DependencyGraphProof [EQUIVALENT, 0 ms] (308) QDP (309) TransformationProof [EQUIVALENT, 0 ms] (310) QDP (311) TransformationProof [EQUIVALENT, 0 ms] (312) QDP (313) TransformationProof [EQUIVALENT, 0 ms] (314) QDP (315) TransformationProof [EQUIVALENT, 1 ms] (316) QDP (317) TransformationProof [EQUIVALENT, 0 ms] (318) QDP (319) TransformationProof [EQUIVALENT, 0 ms] (320) QDP (321) TransformationProof [EQUIVALENT, 0 ms] (322) QDP (323) TransformationProof [EQUIVALENT, 0 ms] (324) QDP (325) TransformationProof [EQUIVALENT, 0 ms] (326) QDP (327) TransformationProof [EQUIVALENT, 0 ms] (328) QDP (329) TransformationProof [EQUIVALENT, 0 ms] (330) QDP (331) TransformationProof [EQUIVALENT, 0 ms] (332) QDP (333) TransformationProof [EQUIVALENT, 0 ms] (334) QDP (335) TransformationProof [EQUIVALENT, 0 ms] (336) QDP (337) DependencyGraphProof [EQUIVALENT, 0 ms] (338) QDP (339) TransformationProof [EQUIVALENT, 0 ms] (340) QDP (341) TransformationProof [EQUIVALENT, 0 ms] (342) QDP (343) TransformationProof [EQUIVALENT, 0 ms] (344) QDP (345) TransformationProof [EQUIVALENT, 0 ms] (346) QDP (347) TransformationProof [EQUIVALENT, 0 ms] (348) QDP (349) TransformationProof [EQUIVALENT, 0 ms] (350) QDP (351) TransformationProof [EQUIVALENT, 0 ms] (352) QDP (353) DependencyGraphProof [EQUIVALENT, 0 ms] (354) QDP (355) TransformationProof [EQUIVALENT, 0 ms] (356) QDP (357) TransformationProof [EQUIVALENT, 0 ms] (358) QDP (359) TransformationProof [EQUIVALENT, 0 ms] (360) QDP (361) TransformationProof [EQUIVALENT, 0 ms] (362) QDP (363) TransformationProof [EQUIVALENT, 0 ms] (364) QDP (365) TransformationProof [EQUIVALENT, 0 ms] (366) QDP (367) TransformationProof [EQUIVALENT, 0 ms] (368) QDP (369) TransformationProof [EQUIVALENT, 0 ms] (370) QDP (371) TransformationProof [EQUIVALENT, 0 ms] (372) QDP (373) TransformationProof [EQUIVALENT, 0 ms] (374) QDP (375) TransformationProof [EQUIVALENT, 0 ms] (376) QDP (377) TransformationProof [EQUIVALENT, 0 ms] (378) QDP (379) TransformationProof [EQUIVALENT, 0 ms] (380) QDP (381) TransformationProof [EQUIVALENT, 0 ms] (382) QDP (383) TransformationProof [EQUIVALENT, 0 ms] (384) QDP (385) TransformationProof [EQUIVALENT, 0 ms] (386) QDP (387) DependencyGraphProof [EQUIVALENT, 0 ms] (388) QDP (389) TransformationProof [EQUIVALENT, 0 ms] (390) QDP (391) TransformationProof [EQUIVALENT, 0 ms] (392) QDP (393) TransformationProof [EQUIVALENT, 0 ms] (394) QDP (395) TransformationProof [EQUIVALENT, 0 ms] (396) QDP (397) TransformationProof [EQUIVALENT, 0 ms] (398) QDP (399) TransformationProof [EQUIVALENT, 0 ms] (400) QDP (401) TransformationProof [EQUIVALENT, 0 ms] (402) QDP (403) TransformationProof [EQUIVALENT, 0 ms] (404) QDP (405) TransformationProof [EQUIVALENT, 0 ms] (406) QDP (407) TransformationProof [EQUIVALENT, 0 ms] (408) QDP (409) TransformationProof [EQUIVALENT, 0 ms] (410) QDP (411) TransformationProof [EQUIVALENT, 0 ms] (412) QDP (413) DependencyGraphProof [EQUIVALENT, 0 ms] (414) QDP (415) TransformationProof [EQUIVALENT, 0 ms] (416) QDP (417) TransformationProof [EQUIVALENT, 0 ms] (418) QDP (419) TransformationProof [EQUIVALENT, 0 ms] (420) QDP (421) TransformationProof [EQUIVALENT, 0 ms] (422) QDP (423) TransformationProof [EQUIVALENT, 0 ms] (424) QDP (425) TransformationProof [EQUIVALENT, 0 ms] (426) QDP (427) TransformationProof [EQUIVALENT, 0 ms] (428) QDP (429) TransformationProof [EQUIVALENT, 0 ms] (430) QDP (431) TransformationProof [EQUIVALENT, 0 ms] (432) QDP (433) TransformationProof [EQUIVALENT, 0 ms] (434) QDP (435) TransformationProof [EQUIVALENT, 0 ms] (436) QDP (437) TransformationProof [EQUIVALENT, 0 ms] (438) QDP (439) TransformationProof [EQUIVALENT, 0 ms] (440) QDP (441) TransformationProof [EQUIVALENT, 0 ms] (442) QDP (443) TransformationProof [EQUIVALENT, 0 ms] (444) QDP (445) TransformationProof [EQUIVALENT, 0 ms] (446) QDP (447) DependencyGraphProof [EQUIVALENT, 0 ms] (448) QDP (449) TransformationProof [EQUIVALENT, 0 ms] (450) QDP (451) TransformationProof [EQUIVALENT, 1 ms] (452) QDP (453) TransformationProof [EQUIVALENT, 0 ms] (454) QDP (455) TransformationProof [EQUIVALENT, 0 ms] (456) QDP (457) TransformationProof [EQUIVALENT, 0 ms] (458) QDP (459) TransformationProof [EQUIVALENT, 0 ms] (460) QDP (461) TransformationProof [EQUIVALENT, 0 ms] (462) QDP (463) TransformationProof [EQUIVALENT, 0 ms] (464) QDP (465) TransformationProof [EQUIVALENT, 0 ms] (466) QDP (467) TransformationProof [EQUIVALENT, 0 ms] (468) QDP (469) TransformationProof [EQUIVALENT, 0 ms] (470) QDP (471) TransformationProof [EQUIVALENT, 0 ms] (472) QDP (473) DependencyGraphProof [EQUIVALENT, 0 ms] (474) QDP (475) TransformationProof [EQUIVALENT, 0 ms] (476) QDP (477) TransformationProof [EQUIVALENT, 0 ms] (478) QDP (479) TransformationProof [EQUIVALENT, 0 ms] (480) QDP (481) TransformationProof [EQUIVALENT, 0 ms] (482) QDP (483) TransformationProof [EQUIVALENT, 0 ms] (484) QDP (485) TransformationProof [EQUIVALENT, 0 ms] (486) QDP (487) TransformationProof [EQUIVALENT, 0 ms] (488) QDP (489) TransformationProof [EQUIVALENT, 0 ms] (490) QDP (491) TransformationProof [EQUIVALENT, 0 ms] (492) QDP (493) TransformationProof [EQUIVALENT, 0 ms] (494) QDP (495) TransformationProof [EQUIVALENT, 0 ms] (496) QDP (497) TransformationProof [EQUIVALENT, 0 ms] (498) QDP (499) TransformationProof [EQUIVALENT, 0 ms] (500) QDP (501) TransformationProof [EQUIVALENT, 0 ms] (502) QDP (503) TransformationProof [EQUIVALENT, 0 ms] (504) QDP (505) TransformationProof [EQUIVALENT, 0 ms] (506) QDP (507) DependencyGraphProof [EQUIVALENT, 0 ms] (508) QDP (509) TransformationProof [EQUIVALENT, 0 ms] (510) QDP (511) TransformationProof [EQUIVALENT, 0 ms] (512) QDP (513) TransformationProof [EQUIVALENT, 0 ms] (514) QDP (515) TransformationProof [EQUIVALENT, 0 ms] (516) QDP (517) TransformationProof [EQUIVALENT, 0 ms] (518) QDP (519) TransformationProof [EQUIVALENT, 0 ms] (520) QDP (521) TransformationProof [EQUIVALENT, 0 ms] (522) QDP (523) TransformationProof [EQUIVALENT, 0 ms] (524) QDP (525) TransformationProof [EQUIVALENT, 0 ms] (526) QDP (527) TransformationProof [EQUIVALENT, 0 ms] (528) QDP (529) TransformationProof [EQUIVALENT, 0 ms] (530) QDP (531) TransformationProof [EQUIVALENT, 0 ms] (532) QDP (533) DependencyGraphProof [EQUIVALENT, 0 ms] (534) QDP (535) TransformationProof [EQUIVALENT, 0 ms] (536) QDP (537) TransformationProof [EQUIVALENT, 0 ms] (538) QDP (539) TransformationProof [EQUIVALENT, 0 ms] (540) QDP (541) TransformationProof [EQUIVALENT, 0 ms] (542) QDP (543) TransformationProof [EQUIVALENT, 0 ms] (544) QDP (545) TransformationProof [EQUIVALENT, 0 ms] (546) QDP (547) TransformationProof [EQUIVALENT, 0 ms] (548) QDP (549) TransformationProof [EQUIVALENT, 0 ms] (550) QDP (551) TransformationProof [EQUIVALENT, 0 ms] (552) QDP (553) TransformationProof [EQUIVALENT, 0 ms] (554) QDP (555) TransformationProof [EQUIVALENT, 0 ms] (556) QDP (557) TransformationProof [EQUIVALENT, 0 ms] (558) QDP (559) TransformationProof [EQUIVALENT, 0 ms] (560) QDP (561) TransformationProof [EQUIVALENT, 0 ms] (562) QDP (563) TransformationProof [EQUIVALENT, 0 ms] (564) QDP (565) TransformationProof [EQUIVALENT, 0 ms] (566) QDP (567) DependencyGraphProof [EQUIVALENT, 0 ms] (568) QDP (569) TransformationProof [EQUIVALENT, 0 ms] (570) QDP (571) TransformationProof [EQUIVALENT, 0 ms] (572) QDP (573) TransformationProof [EQUIVALENT, 0 ms] (574) QDP (575) TransformationProof [EQUIVALENT, 0 ms] (576) QDP (577) TransformationProof [EQUIVALENT, 0 ms] (578) QDP (579) TransformationProof [EQUIVALENT, 0 ms] (580) QDP (581) TransformationProof [EQUIVALENT, 1 ms] (582) QDP (583) TransformationProof [EQUIVALENT, 0 ms] (584) QDP (585) TransformationProof [EQUIVALENT, 0 ms] (586) QDP (587) TransformationProof [EQUIVALENT, 0 ms] (588) QDP (589) TransformationProof [EQUIVALENT, 0 ms] (590) QDP (591) TransformationProof [EQUIVALENT, 0 ms] (592) QDP (593) DependencyGraphProof [EQUIVALENT, 0 ms] (594) QDP (595) TransformationProof [EQUIVALENT, 0 ms] (596) QDP (597) TransformationProof [EQUIVALENT, 0 ms] (598) QDP (599) QDPOrderProof [EQUIVALENT, 199 ms] (600) QDP (601) InductionCalculusProof [EQUIVALENT, 0 ms] (602) QDP (603) QDP (604) QDPSizeChangeProof [EQUIVALENT, 0 ms] (605) YES (606) QDP (607) DependencyGraphProof [EQUIVALENT, 0 ms] (608) QDP (609) TransformationProof [EQUIVALENT, 10 ms] (610) QDP (611) UsableRulesProof [EQUIVALENT, 0 ms] (612) QDP (613) QReductionProof [EQUIVALENT, 0 ms] (614) QDP (615) TransformationProof [EQUIVALENT, 0 ms] (616) QDP (617) UsableRulesProof [EQUIVALENT, 0 ms] (618) QDP (619) QReductionProof [EQUIVALENT, 0 ms] (620) QDP (621) TransformationProof [EQUIVALENT, 0 ms] (622) QDP (623) UsableRulesProof [EQUIVALENT, 0 ms] (624) QDP (625) QReductionProof [EQUIVALENT, 0 ms] (626) QDP (627) TransformationProof [EQUIVALENT, 0 ms] (628) QDP (629) DependencyGraphProof [EQUIVALENT, 0 ms] (630) QDP (631) UsableRulesProof [EQUIVALENT, 0 ms] (632) QDP (633) QReductionProof [EQUIVALENT, 0 ms] (634) QDP (635) MNOCProof [EQUIVALENT, 0 ms] (636) QDP (637) InductionCalculusProof [EQUIVALENT, 0 ms] (638) QDP (639) TransformationProof [EQUIVALENT, 0 ms] (640) QDP (641) DependencyGraphProof [EQUIVALENT, 0 ms] (642) QDP (643) UsableRulesProof [EQUIVALENT, 0 ms] (644) QDP (645) QReductionProof [EQUIVALENT, 0 ms] (646) QDP (647) TransformationProof [EQUIVALENT, 0 ms] (648) QDP (649) DependencyGraphProof [EQUIVALENT, 0 ms] (650) QDP (651) TransformationProof [EQUIVALENT, 0 ms] (652) QDP (653) DependencyGraphProof [EQUIVALENT, 0 ms] (654) QDP (655) TransformationProof [EQUIVALENT, 0 ms] (656) QDP (657) TransformationProof [EQUIVALENT, 0 ms] (658) QDP (659) DependencyGraphProof [EQUIVALENT, 0 ms] (660) QDP (661) TransformationProof [EQUIVALENT, 0 ms] (662) QDP (663) DependencyGraphProof [EQUIVALENT, 0 ms] (664) QDP (665) TransformationProof [EQUIVALENT, 0 ms] (666) QDP (667) TransformationProof [EQUIVALENT, 0 ms] (668) QDP (669) DependencyGraphProof [EQUIVALENT, 0 ms] (670) QDP (671) TransformationProof [EQUIVALENT, 0 ms] (672) QDP (673) DependencyGraphProof [EQUIVALENT, 0 ms] (674) QDP (675) TransformationProof [EQUIVALENT, 0 ms] (676) QDP (677) TransformationProof [EQUIVALENT, 0 ms] (678) QDP (679) DependencyGraphProof [EQUIVALENT, 0 ms] (680) QDP (681) TransformationProof [EQUIVALENT, 0 ms] (682) QDP (683) DependencyGraphProof [EQUIVALENT, 0 ms] (684) QDP (685) TransformationProof [EQUIVALENT, 0 ms] (686) QDP (687) TransformationProof [EQUIVALENT, 0 ms] (688) QDP (689) TransformationProof [EQUIVALENT, 0 ms] (690) QDP (691) TransformationProof [EQUIVALENT, 0 ms] (692) QDP (693) TransformationProof [EQUIVALENT, 0 ms] (694) QDP (695) TransformationProof [EQUIVALENT, 0 ms] (696) QDP (697) TransformationProof [EQUIVALENT, 0 ms] (698) QDP (699) TransformationProof [EQUIVALENT, 0 ms] (700) QDP (701) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (712) QDP (713) TransformationProof [EQUIVALENT, 0 ms] (714) QDP (715) TransformationProof [EQUIVALENT, 0 ms] (716) QDP (717) TransformationProof [EQUIVALENT, 0 ms] (718) QDP (719) TransformationProof [EQUIVALENT, 0 ms] (720) QDP (721) TransformationProof [EQUIVALENT, 0 ms] (722) QDP (723) TransformationProof [EQUIVALENT, 0 ms] (724) QDP (725) DependencyGraphProof [EQUIVALENT, 0 ms] (726) QDP (727) TransformationProof [EQUIVALENT, 0 ms] (728) QDP (729) TransformationProof [EQUIVALENT, 0 ms] (730) QDP (731) DependencyGraphProof [EQUIVALENT, 0 ms] (732) QDP (733) TransformationProof [EQUIVALENT, 0 ms] (734) QDP (735) TransformationProof [EQUIVALENT, 0 ms] (736) QDP (737) TransformationProof [EQUIVALENT, 0 ms] (738) QDP (739) TransformationProof [EQUIVALENT, 0 ms] (740) QDP (741) TransformationProof [EQUIVALENT, 0 ms] (742) QDP (743) TransformationProof [EQUIVALENT, 0 ms] (744) QDP (745) TransformationProof [EQUIVALENT, 0 ms] (746) QDP (747) TransformationProof [EQUIVALENT, 0 ms] (748) QDP (749) DependencyGraphProof [EQUIVALENT, 0 ms] (750) QDP (751) TransformationProof [EQUIVALENT, 0 ms] (752) QDP (753) TransformationProof [EQUIVALENT, 0 ms] (754) QDP (755) DependencyGraphProof [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) TransformationProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (778) QDP (779) TransformationProof [EQUIVALENT, 0 ms] (780) QDP (781) TransformationProof [EQUIVALENT, 0 ms] (782) QDP (783) TransformationProof [EQUIVALENT, 0 ms] (784) QDP (785) DependencyGraphProof [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) TransformationProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (808) QDP (809) TransformationProof [EQUIVALENT, 0 ms] (810) QDP (811) TransformationProof [EQUIVALENT, 0 ms] (812) QDP (813) TransformationProof [EQUIVALENT, 0 ms] (814) QDP (815) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (830) QDP (831) TransformationProof [EQUIVALENT, 0 ms] (832) QDP (833) DependencyGraphProof [EQUIVALENT, 0 ms] (834) QDP (835) TransformationProof [EQUIVALENT, 1 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) TransformationProof [EQUIVALENT, 0 ms] (860) QDP (861) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (872) QDP (873) TransformationProof [EQUIVALENT, 0 ms] (874) QDP (875) TransformationProof [EQUIVALENT, 0 ms] (876) QDP (877) TransformationProof [EQUIVALENT, 0 ms] (878) QDP (879) TransformationProof [EQUIVALENT, 0 ms] (880) QDP (881) TransformationProof [EQUIVALENT, 0 ms] (882) QDP (883) TransformationProof [EQUIVALENT, 0 ms] (884) QDP (885) TransformationProof [EQUIVALENT, 0 ms] (886) QDP (887) TransformationProof [EQUIVALENT, 0 ms] (888) QDP (889) TransformationProof [EQUIVALENT, 0 ms] (890) QDP (891) DependencyGraphProof [EQUIVALENT, 0 ms] (892) QDP (893) TransformationProof [EQUIVALENT, 0 ms] (894) QDP (895) TransformationProof [EQUIVALENT, 0 ms] (896) QDP (897) TransformationProof [EQUIVALENT, 0 ms] (898) QDP (899) DependencyGraphProof [EQUIVALENT, 0 ms] (900) QDP (901) TransformationProof [EQUIVALENT, 0 ms] (902) QDP (903) QDPOrderProof [EQUIVALENT, 34 ms] (904) QDP (905) QDPOrderProof [EQUIVALENT, 0 ms] (906) QDP (907) MNOCProof [EQUIVALENT, 0 ms] (908) QDP (909) InductionCalculusProof [EQUIVALENT, 0 ms] (910) QDP (911) QDP (912) QDPSizeChangeProof [EQUIVALENT, 0 ms] (913) YES (914) QDP (915) QDPSizeChangeProof [EQUIVALENT, 0 ms] (916) YES (917) QDP (918) DependencyGraphProof [EQUIVALENT, 0 ms] (919) AND (920) QDP (921) MRRProof [EQUIVALENT, 0 ms] (922) QDP (923) PisEmptyProof [EQUIVALENT, 0 ms] (924) YES (925) QDP (926) QDPSizeChangeProof [EQUIVALENT, 0 ms] (927) YES (928) QDP (929) QDPSizeChangeProof [EQUIVALENT, 0 ms] (930) YES (931) QDP (932) QDPSizeChangeProof [EQUIVALENT, 0 ms] (933) YES (934) QDP (935) QDPSizeChangeProof [EQUIVALENT, 0 ms] (936) YES (937) QDP (938) QDPSizeChangeProof [EQUIVALENT, 0 ms] (939) YES (940) QDP (941) QDPSizeChangeProof [EQUIVALENT, 0 ms] (942) YES (943) Narrow [COMPLETE, 0 ms] (944) TRUE ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) IFR (EQUIVALENT) If Reductions: The following If expression "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" is transformed to "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); primDivNatS0 x y False = Zero; " The following If expression "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" is transformed to "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); primModNatS0 x y False = Succ x; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "absReal x|x >= 0x|otherwise`negate` x; " is transformed to "absReal x = absReal2 x; " "absReal1 x True = x; absReal1 x False = absReal0 x otherwise; " "absReal0 x True = `negate` x; " "absReal2 x = absReal1 x (x >= 0); " The following Function with conditions "gcd' x 0 = x; gcd' x y = gcd' y (x `rem` y); " is transformed to "gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; " "gcd'0 x y = gcd' y (x `rem` y); " "gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; " "gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; " The following Function with conditions "gcd 0 0 = error []; gcd x y = gcd' (abs x) (abs y) where { gcd' x 0 = x; gcd' x y = gcd' y (x `rem` y); } ; " is transformed to "gcd yz zu = gcd3 yz zu; gcd x y = gcd0 x y; " "gcd0 x y = gcd' (abs x) (abs y) where { gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; ; gcd'0 x y = gcd' y (x `rem` y); ; gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; ; gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; } ; " "gcd1 True yz zu = error []; gcd1 zv zw zx = gcd0 zw zx; " "gcd2 True yz zu = gcd1 (zu == 0) yz zu; gcd2 zy zz vuu = gcd0 zz vuu; " "gcd3 yz zu = gcd2 (yz == 0) yz zu; gcd3 vuv vuw = gcd0 vuv vuw; " The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " The following Function with conditions "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { d = gcd x y; } ; " is transformed to "reduce x y = reduce2 x y; " "reduce2 x y = reduce1 x y (y == 0) where { d = gcd x y; ; reduce0 x y True = x `quot` d :% (y `quot` d); ; reduce1 x y True = error []; reduce1 x y False = reduce0 x y otherwise; } ; " The following Function with conditions "signumReal x|x == 00|x > 01|otherwise-1; " is transformed to "signumReal x = signumReal3 x; " "signumReal2 x True = 0; signumReal2 x False = signumReal1 x (x > 0); " "signumReal0 x True = -1; " "signumReal1 x True = 1; signumReal1 x False = signumReal0 x otherwise; " "signumReal3 x = signumReal2 x (x == 0); " ---------------------------------------- (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' x xz = gcd0Gcd'2 x xz; gcd0Gcd' x y = gcd0Gcd'0 x y; " "gcd0Gcd'1 True x xz = x; gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; " "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; " "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); " 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; " "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); " "reduce2D vux vuy = gcd vux vuy; " ---------------------------------------- (8) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (9) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (10) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (11) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="fromDouble",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="fromDouble vuz3",fontsize=16,color="blue",shape="box"];8234[label="fromDouble :: Double -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3 -> 8234[label="",style="solid", color="blue", weight=9]; 8234 -> 4[label="",style="solid", color="blue", weight=3]; 8235[label="fromDouble :: Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3 -> 8235[label="",style="solid", color="blue", weight=9]; 8235 -> 5[label="",style="solid", color="blue", weight=3]; 8236[label="fromDouble :: Double -> Float",fontsize=10,color="white",style="solid",shape="box"];3 -> 8236[label="",style="solid", color="blue", weight=9]; 8236 -> 6[label="",style="solid", color="blue", weight=3]; 4[label="fromDouble vuz3",fontsize=16,color="black",shape="box"];4 -> 7[label="",style="solid", color="black", weight=3]; 5[label="fromDouble vuz3",fontsize=16,color="black",shape="box"];5 -> 8[label="",style="solid", color="black", weight=3]; 6[label="fromDouble vuz3",fontsize=16,color="black",shape="box"];6 -> 9[label="",style="solid", color="black", weight=3]; 7[label="doubleToRatio vuz3",fontsize=16,color="burlywood",shape="box"];8237[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];7 -> 8237[label="",style="solid", color="burlywood", weight=9]; 8237 -> 10[label="",style="solid", color="burlywood", weight=3]; 8[label="vuz3",fontsize=16,color="green",shape="box"];9[label="doubleToFloat vuz3",fontsize=16,color="burlywood",shape="box"];8238[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];9 -> 8238[label="",style="solid", color="burlywood", weight=9]; 8238 -> 11[label="",style="solid", color="burlywood", weight=3]; 10[label="doubleToRatio (Double vuz30 vuz31)",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 11[label="doubleToFloat (Double vuz30 vuz31)",fontsize=16,color="black",shape="box"];11 -> 13[label="",style="solid", color="black", weight=3]; 12[label="fromInt vuz30 % fromInt vuz31",fontsize=16,color="black",shape="box"];12 -> 14[label="",style="solid", color="black", weight=3]; 13[label="Float vuz30 vuz31",fontsize=16,color="green",shape="box"];14[label="reduce (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31))",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 15[label="reduce2 (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31))",fontsize=16,color="black",shape="box"];15 -> 16[label="",style="solid", color="black", weight=3]; 16 -> 17[label="",style="dashed", color="red", weight=0]; 16[label="reduce2Reduce1 (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31)) (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31)) (abs (fromInt vuz31) == fromInt (Pos Zero))",fontsize=16,color="magenta"];16 -> 18[label="",style="dashed", color="magenta", weight=3]; 16 -> 19[label="",style="dashed", color="magenta", weight=3]; 16 -> 20[label="",style="dashed", color="magenta", weight=3]; 18[label="vuz31",fontsize=16,color="green",shape="box"];19[label="vuz30",fontsize=16,color="green",shape="box"];20[label="abs (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];8239[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];20 -> 8239[label="",style="solid", color="blue", weight=9]; 8239 -> 21[label="",style="solid", color="blue", weight=3]; 8240[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];20 -> 8240[label="",style="solid", color="blue", weight=9]; 8240 -> 22[label="",style="solid", color="blue", weight=3]; 17[label="reduce2Reduce1 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) vuz10",fontsize=16,color="burlywood",shape="triangle"];8241[label="vuz10/False",fontsize=10,color="white",style="solid",shape="box"];17 -> 8241[label="",style="solid", color="burlywood", weight=9]; 8241 -> 23[label="",style="solid", color="burlywood", weight=3]; 8242[label="vuz10/True",fontsize=10,color="white",style="solid",shape="box"];17 -> 8242[label="",style="solid", color="burlywood", weight=9]; 8242 -> 24[label="",style="solid", color="burlywood", weight=3]; 21 -> 2582[label="",style="dashed", color="red", weight=0]; 21[label="abs (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="magenta"];21 -> 2583[label="",style="dashed", color="magenta", weight=3]; 22[label="abs (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 23[label="reduce2Reduce1 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) False",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 24[label="reduce2Reduce1 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) True",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 2583 -> 2348[label="",style="dashed", color="red", weight=0]; 2583[label="abs (fromInt vuz31)",fontsize=16,color="magenta"];2583 -> 2609[label="",style="dashed", color="magenta", weight=3]; 2582[label="vuz170 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];2582 -> 2610[label="",style="solid", color="black", weight=3]; 26[label="absReal (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 27[label="reduce2Reduce0 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) otherwise",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 28[label="error []",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 2609[label="fromInt vuz31",fontsize=16,color="black",shape="triangle"];2609 -> 2646[label="",style="solid", color="black", weight=3]; 2348[label="abs vuz158",fontsize=16,color="black",shape="triangle"];2348 -> 2437[label="",style="solid", color="black", weight=3]; 2610 -> 2647[label="",style="dashed", color="red", weight=0]; 2610[label="primEqInt vuz170 (fromInt (Pos Zero))",fontsize=16,color="magenta"];2610 -> 2648[label="",style="dashed", color="magenta", weight=3]; 30[label="absReal2 (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 31[label="reduce2Reduce0 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) True",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 32[label="error []",fontsize=16,color="red",shape="box"];2646[label="vuz31",fontsize=16,color="green",shape="box"];2437[label="absReal vuz158",fontsize=16,color="black",shape="box"];2437 -> 2483[label="",style="solid", color="black", weight=3]; 2648 -> 2609[label="",style="dashed", color="red", weight=0]; 2648[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];2648 -> 2891[label="",style="dashed", color="magenta", weight=3]; 2647[label="primEqInt vuz170 vuz173",fontsize=16,color="burlywood",shape="triangle"];8243[label="vuz170/Pos vuz1700",fontsize=10,color="white",style="solid",shape="box"];2647 -> 8243[label="",style="solid", color="burlywood", weight=9]; 8243 -> 2892[label="",style="solid", color="burlywood", weight=3]; 8244[label="vuz170/Neg vuz1700",fontsize=10,color="white",style="solid",shape="box"];2647 -> 8244[label="",style="solid", color="burlywood", weight=9]; 8244 -> 2893[label="",style="solid", color="burlywood", weight=3]; 34[label="absReal1 (fromInt vuz31) (fromInt vuz31 >= fromInt (Pos Zero)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];34 -> 37[label="",style="solid", color="black", weight=3]; 35[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) :% (abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)))",fontsize=16,color="green",shape="box"];35 -> 38[label="",style="dashed", color="green", weight=3]; 35 -> 39[label="",style="dashed", color="green", weight=3]; 2483[label="absReal2 vuz158",fontsize=16,color="black",shape="box"];2483 -> 2531[label="",style="solid", color="black", weight=3]; 2891[label="Pos Zero",fontsize=16,color="green",shape="box"];2892[label="primEqInt (Pos vuz1700) vuz173",fontsize=16,color="burlywood",shape="box"];8245[label="vuz1700/Succ vuz17000",fontsize=10,color="white",style="solid",shape="box"];2892 -> 8245[label="",style="solid", color="burlywood", weight=9]; 8245 -> 2896[label="",style="solid", color="burlywood", weight=3]; 8246[label="vuz1700/Zero",fontsize=10,color="white",style="solid",shape="box"];2892 -> 8246[label="",style="solid", color="burlywood", weight=9]; 8246 -> 2897[label="",style="solid", color="burlywood", weight=3]; 2893[label="primEqInt (Neg vuz1700) vuz173",fontsize=16,color="burlywood",shape="box"];8247[label="vuz1700/Succ vuz17000",fontsize=10,color="white",style="solid",shape="box"];2893 -> 8247[label="",style="solid", color="burlywood", weight=9]; 8247 -> 2898[label="",style="solid", color="burlywood", weight=3]; 8248[label="vuz1700/Zero",fontsize=10,color="white",style="solid",shape="box"];2893 -> 8248[label="",style="solid", color="burlywood", weight=9]; 8248 -> 2899[label="",style="solid", color="burlywood", weight=3]; 37[label="absReal1 (fromInt vuz31) (compare (fromInt vuz31) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];37 -> 41[label="",style="solid", color="black", weight=3]; 38[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="blue",shape="box"];8249[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];38 -> 8249[label="",style="solid", color="blue", weight=9]; 8249 -> 42[label="",style="solid", color="blue", weight=3]; 8250[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];38 -> 8250[label="",style="solid", color="blue", weight=9]; 8250 -> 43[label="",style="solid", color="blue", weight=3]; 39[label="abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="blue",shape="box"];8251[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];39 -> 8251[label="",style="solid", color="blue", weight=9]; 8251 -> 44[label="",style="solid", color="blue", weight=3]; 8252[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];39 -> 8252[label="",style="solid", color="blue", weight=9]; 8252 -> 45[label="",style="solid", color="blue", weight=3]; 2531[label="absReal1 vuz158 (vuz158 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2531 -> 2545[label="",style="solid", color="black", weight=3]; 2896[label="primEqInt (Pos (Succ vuz17000)) vuz173",fontsize=16,color="burlywood",shape="box"];8253[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2896 -> 8253[label="",style="solid", color="burlywood", weight=9]; 8253 -> 2955[label="",style="solid", color="burlywood", weight=3]; 8254[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2896 -> 8254[label="",style="solid", color="burlywood", weight=9]; 8254 -> 2956[label="",style="solid", color="burlywood", weight=3]; 2897[label="primEqInt (Pos Zero) vuz173",fontsize=16,color="burlywood",shape="box"];8255[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2897 -> 8255[label="",style="solid", color="burlywood", weight=9]; 8255 -> 2957[label="",style="solid", color="burlywood", weight=3]; 8256[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2897 -> 8256[label="",style="solid", color="burlywood", weight=9]; 8256 -> 2958[label="",style="solid", color="burlywood", weight=3]; 2898[label="primEqInt (Neg (Succ vuz17000)) vuz173",fontsize=16,color="burlywood",shape="box"];8257[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2898 -> 8257[label="",style="solid", color="burlywood", weight=9]; 8257 -> 2959[label="",style="solid", color="burlywood", weight=3]; 8258[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2898 -> 8258[label="",style="solid", color="burlywood", weight=9]; 8258 -> 2960[label="",style="solid", color="burlywood", weight=3]; 2899[label="primEqInt (Neg Zero) vuz173",fontsize=16,color="burlywood",shape="box"];8259[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2899 -> 8259[label="",style="solid", color="burlywood", weight=9]; 8259 -> 2961[label="",style="solid", color="burlywood", weight=3]; 8260[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2899 -> 8260[label="",style="solid", color="burlywood", weight=9]; 8260 -> 2962[label="",style="solid", color="burlywood", weight=3]; 41[label="absReal1 (fromInt vuz31) (not (compare (fromInt vuz31) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];41 -> 47[label="",style="solid", color="black", weight=3]; 42[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];42 -> 48[label="",style="solid", color="black", weight=3]; 43[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];43 -> 49[label="",style="solid", color="black", weight=3]; 44[label="abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];44 -> 50[label="",style="solid", color="black", weight=3]; 45[label="abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];45 -> 51[label="",style="solid", color="black", weight=3]; 2545 -> 2894[label="",style="dashed", color="red", weight=0]; 2545[label="absReal1 vuz158 (compare vuz158 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="magenta"];2545 -> 2895[label="",style="dashed", color="magenta", weight=3]; 2955[label="primEqInt (Pos (Succ vuz17000)) (Pos vuz1730)",fontsize=16,color="burlywood",shape="box"];8261[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2955 -> 8261[label="",style="solid", color="burlywood", weight=9]; 8261 -> 2979[label="",style="solid", color="burlywood", weight=3]; 8262[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2955 -> 8262[label="",style="solid", color="burlywood", weight=9]; 8262 -> 2980[label="",style="solid", color="burlywood", weight=3]; 2956[label="primEqInt (Pos (Succ vuz17000)) (Neg vuz1730)",fontsize=16,color="black",shape="box"];2956 -> 2981[label="",style="solid", color="black", weight=3]; 2957[label="primEqInt (Pos Zero) (Pos vuz1730)",fontsize=16,color="burlywood",shape="box"];8263[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2957 -> 8263[label="",style="solid", color="burlywood", weight=9]; 8263 -> 2982[label="",style="solid", color="burlywood", weight=3]; 8264[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2957 -> 8264[label="",style="solid", color="burlywood", weight=9]; 8264 -> 2983[label="",style="solid", color="burlywood", weight=3]; 2958[label="primEqInt (Pos Zero) (Neg vuz1730)",fontsize=16,color="burlywood",shape="box"];8265[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2958 -> 8265[label="",style="solid", color="burlywood", weight=9]; 8265 -> 2984[label="",style="solid", color="burlywood", weight=3]; 8266[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2958 -> 8266[label="",style="solid", color="burlywood", weight=9]; 8266 -> 2985[label="",style="solid", color="burlywood", weight=3]; 2959[label="primEqInt (Neg (Succ vuz17000)) (Pos vuz1730)",fontsize=16,color="black",shape="box"];2959 -> 2986[label="",style="solid", color="black", weight=3]; 2960[label="primEqInt (Neg (Succ vuz17000)) (Neg vuz1730)",fontsize=16,color="burlywood",shape="box"];8267[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2960 -> 8267[label="",style="solid", color="burlywood", weight=9]; 8267 -> 2987[label="",style="solid", color="burlywood", weight=3]; 8268[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2960 -> 8268[label="",style="solid", color="burlywood", weight=9]; 8268 -> 2988[label="",style="solid", color="burlywood", weight=3]; 2961[label="primEqInt (Neg Zero) (Pos vuz1730)",fontsize=16,color="burlywood",shape="box"];8269[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2961 -> 8269[label="",style="solid", color="burlywood", weight=9]; 8269 -> 2989[label="",style="solid", color="burlywood", weight=3]; 8270[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2961 -> 8270[label="",style="solid", color="burlywood", weight=9]; 8270 -> 2990[label="",style="solid", color="burlywood", weight=3]; 2962[label="primEqInt (Neg Zero) (Neg vuz1730)",fontsize=16,color="burlywood",shape="box"];8271[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2962 -> 8271[label="",style="solid", color="burlywood", weight=9]; 8271 -> 2991[label="",style="solid", color="burlywood", weight=3]; 8272[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2962 -> 8272[label="",style="solid", color="burlywood", weight=9]; 8272 -> 2992[label="",style="solid", color="burlywood", weight=3]; 47[label="absReal1 (Integer vuz31) (not (compare (Integer vuz31) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];47 -> 53[label="",style="solid", color="black", weight=3]; 48[label="primQuotInt (fromInt vuz8 * signum (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];48 -> 54[label="",style="solid", color="black", weight=3]; 49[label="Integer vuz8 * signum (fromInt vuz9) `quot` reduce2D (Integer vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];49 -> 55[label="",style="solid", color="black", weight=3]; 50[label="primQuotInt (abs (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];50 -> 56[label="",style="solid", color="black", weight=3]; 51[label="absReal (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal (fromInt vuz9))",fontsize=16,color="black",shape="box"];51 -> 57[label="",style="solid", color="black", weight=3]; 2895 -> 2609[label="",style="dashed", color="red", weight=0]; 2895[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];2895 -> 2900[label="",style="dashed", color="magenta", weight=3]; 2894[label="absReal1 vuz158 (compare vuz158 vuz174 /= LT)",fontsize=16,color="black",shape="triangle"];2894 -> 2901[label="",style="solid", color="black", weight=3]; 2979[label="primEqInt (Pos (Succ vuz17000)) (Pos (Succ vuz17300))",fontsize=16,color="black",shape="box"];2979 -> 3059[label="",style="solid", color="black", weight=3]; 2980[label="primEqInt (Pos (Succ vuz17000)) (Pos Zero)",fontsize=16,color="black",shape="box"];2980 -> 3060[label="",style="solid", color="black", weight=3]; 2981[label="False",fontsize=16,color="green",shape="box"];2982[label="primEqInt (Pos Zero) (Pos (Succ vuz17300))",fontsize=16,color="black",shape="box"];2982 -> 3061[label="",style="solid", color="black", weight=3]; 2983[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2983 -> 3062[label="",style="solid", color="black", weight=3]; 2984[label="primEqInt (Pos Zero) (Neg (Succ vuz17300))",fontsize=16,color="black",shape="box"];2984 -> 3063[label="",style="solid", color="black", weight=3]; 2985[label="primEqInt (Pos Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2985 -> 3064[label="",style="solid", color="black", weight=3]; 2986[label="False",fontsize=16,color="green",shape="box"];2987[label="primEqInt (Neg (Succ vuz17000)) (Neg (Succ vuz17300))",fontsize=16,color="black",shape="box"];2987 -> 3065[label="",style="solid", color="black", weight=3]; 2988[label="primEqInt (Neg (Succ vuz17000)) (Neg Zero)",fontsize=16,color="black",shape="box"];2988 -> 3066[label="",style="solid", color="black", weight=3]; 2989[label="primEqInt (Neg Zero) (Pos (Succ vuz17300))",fontsize=16,color="black",shape="box"];2989 -> 3067[label="",style="solid", color="black", weight=3]; 2990[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2990 -> 3068[label="",style="solid", color="black", weight=3]; 2991[label="primEqInt (Neg Zero) (Neg (Succ vuz17300))",fontsize=16,color="black",shape="box"];2991 -> 3069[label="",style="solid", color="black", weight=3]; 2992[label="primEqInt (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2992 -> 3070[label="",style="solid", color="black", weight=3]; 53[label="absReal1 (Integer vuz31) (not (compare (Integer vuz31) (Integer (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];53 -> 59[label="",style="solid", color="black", weight=3]; 54[label="primQuotInt (primMulInt (fromInt vuz8) (signum (fromInt vuz9))) (reduce2D (primMulInt (fromInt vuz8) (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];54 -> 60[label="",style="solid", color="black", weight=3]; 55[label="Integer vuz8 * signumReal (fromInt vuz9) `quot` reduce2D (Integer vuz8 * signumReal (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];55 -> 61[label="",style="solid", color="black", weight=3]; 56[label="primQuotInt (absReal (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal (fromInt vuz9)))",fontsize=16,color="black",shape="box"];56 -> 62[label="",style="solid", color="black", weight=3]; 57[label="absReal2 (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal2 (fromInt vuz9))",fontsize=16,color="black",shape="box"];57 -> 63[label="",style="solid", color="black", weight=3]; 2900[label="Pos Zero",fontsize=16,color="green",shape="box"];2901[label="absReal1 vuz158 (not (compare vuz158 vuz174 == LT))",fontsize=16,color="black",shape="box"];2901 -> 2963[label="",style="solid", color="black", weight=3]; 3059[label="primEqNat vuz17000 vuz17300",fontsize=16,color="burlywood",shape="triangle"];8273[label="vuz17000/Succ vuz170000",fontsize=10,color="white",style="solid",shape="box"];3059 -> 8273[label="",style="solid", color="burlywood", weight=9]; 8273 -> 3106[label="",style="solid", color="burlywood", weight=3]; 8274[label="vuz17000/Zero",fontsize=10,color="white",style="solid",shape="box"];3059 -> 8274[label="",style="solid", color="burlywood", weight=9]; 8274 -> 3107[label="",style="solid", color="burlywood", weight=3]; 3060[label="False",fontsize=16,color="green",shape="box"];3061[label="False",fontsize=16,color="green",shape="box"];3062[label="True",fontsize=16,color="green",shape="box"];3063[label="False",fontsize=16,color="green",shape="box"];3064[label="True",fontsize=16,color="green",shape="box"];3065 -> 3059[label="",style="dashed", color="red", weight=0]; 3065[label="primEqNat vuz17000 vuz17300",fontsize=16,color="magenta"];3065 -> 3108[label="",style="dashed", color="magenta", weight=3]; 3065 -> 3109[label="",style="dashed", color="magenta", weight=3]; 3066[label="False",fontsize=16,color="green",shape="box"];3067[label="False",fontsize=16,color="green",shape="box"];3068[label="True",fontsize=16,color="green",shape="box"];3069[label="False",fontsize=16,color="green",shape="box"];3070[label="True",fontsize=16,color="green",shape="box"];59[label="absReal1 (Integer vuz31) (not (primCmpInt vuz31 (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];8275[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];59 -> 8275[label="",style="solid", color="burlywood", weight=9]; 8275 -> 66[label="",style="solid", color="burlywood", weight=3]; 8276[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];59 -> 8276[label="",style="solid", color="burlywood", weight=9]; 8276 -> 67[label="",style="solid", color="burlywood", weight=3]; 60[label="primQuotInt (primMulInt vuz8 (signum (fromInt vuz9))) (reduce2D (primMulInt vuz8 (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="burlywood",shape="box"];8277[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];60 -> 8277[label="",style="solid", color="burlywood", weight=9]; 8277 -> 68[label="",style="solid", color="burlywood", weight=3]; 8278[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];60 -> 8278[label="",style="solid", color="burlywood", weight=9]; 8278 -> 69[label="",style="solid", color="burlywood", weight=3]; 61[label="Integer vuz8 * signumReal3 (fromInt vuz9) `quot` reduce2D (Integer vuz8 * signumReal3 (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];61 -> 70[label="",style="solid", color="black", weight=3]; 62[label="primQuotInt (absReal2 (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal2 (fromInt vuz9)))",fontsize=16,color="black",shape="box"];62 -> 71[label="",style="solid", color="black", weight=3]; 63[label="absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero)) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];63 -> 72[label="",style="solid", color="black", weight=3]; 2963[label="absReal1 vuz158 (not (primCmpInt vuz158 vuz174 == LT))",fontsize=16,color="burlywood",shape="triangle"];8279[label="vuz158/Pos vuz1580",fontsize=10,color="white",style="solid",shape="box"];2963 -> 8279[label="",style="solid", color="burlywood", weight=9]; 8279 -> 2993[label="",style="solid", color="burlywood", weight=3]; 8280[label="vuz158/Neg vuz1580",fontsize=10,color="white",style="solid",shape="box"];2963 -> 8280[label="",style="solid", color="burlywood", weight=9]; 8280 -> 2994[label="",style="solid", color="burlywood", weight=3]; 3106[label="primEqNat (Succ vuz170000) vuz17300",fontsize=16,color="burlywood",shape="box"];8281[label="vuz17300/Succ vuz173000",fontsize=10,color="white",style="solid",shape="box"];3106 -> 8281[label="",style="solid", color="burlywood", weight=9]; 8281 -> 3153[label="",style="solid", color="burlywood", weight=3]; 8282[label="vuz17300/Zero",fontsize=10,color="white",style="solid",shape="box"];3106 -> 8282[label="",style="solid", color="burlywood", weight=9]; 8282 -> 3154[label="",style="solid", color="burlywood", weight=3]; 3107[label="primEqNat Zero vuz17300",fontsize=16,color="burlywood",shape="box"];8283[label="vuz17300/Succ vuz173000",fontsize=10,color="white",style="solid",shape="box"];3107 -> 8283[label="",style="solid", color="burlywood", weight=9]; 8283 -> 3155[label="",style="solid", color="burlywood", weight=3]; 8284[label="vuz17300/Zero",fontsize=10,color="white",style="solid",shape="box"];3107 -> 8284[label="",style="solid", color="burlywood", weight=9]; 8284 -> 3156[label="",style="solid", color="burlywood", weight=3]; 3108[label="vuz17000",fontsize=16,color="green",shape="box"];3109[label="vuz17300",fontsize=16,color="green",shape="box"];66[label="absReal1 (Integer (Pos vuz310)) (not (primCmpInt (Pos vuz310) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];8285[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];66 -> 8285[label="",style="solid", color="burlywood", weight=9]; 8285 -> 77[label="",style="solid", color="burlywood", weight=3]; 8286[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];66 -> 8286[label="",style="solid", color="burlywood", weight=9]; 8286 -> 78[label="",style="solid", color="burlywood", weight=3]; 67[label="absReal1 (Integer (Neg vuz310)) (not (primCmpInt (Neg vuz310) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];8287[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];67 -> 8287[label="",style="solid", color="burlywood", weight=9]; 8287 -> 79[label="",style="solid", color="burlywood", weight=3]; 8288[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 8288[label="",style="solid", color="burlywood", weight=9]; 8288 -> 80[label="",style="solid", color="burlywood", weight=3]; 68[label="primQuotInt (primMulInt (Pos vuz80) (signum (fromInt vuz9))) (reduce2D (primMulInt (Pos vuz80) (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];68 -> 81[label="",style="solid", color="black", weight=3]; 69[label="primQuotInt (primMulInt (Neg vuz80) (signum (fromInt vuz9))) (reduce2D (primMulInt (Neg vuz80) (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];69 -> 82[label="",style="solid", color="black", weight=3]; 70[label="Integer vuz8 * signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero))) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];70 -> 83[label="",style="solid", color="black", weight=3]; 71[label="primQuotInt (absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero))) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero))))",fontsize=16,color="black",shape="box"];71 -> 84[label="",style="solid", color="black", weight=3]; 72[label="absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];72 -> 85[label="",style="solid", color="black", weight=3]; 2993[label="absReal1 (Pos vuz1580) (not (primCmpInt (Pos vuz1580) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8289[label="vuz1580/Succ vuz15800",fontsize=10,color="white",style="solid",shape="box"];2993 -> 8289[label="",style="solid", color="burlywood", weight=9]; 8289 -> 3071[label="",style="solid", color="burlywood", weight=3]; 8290[label="vuz1580/Zero",fontsize=10,color="white",style="solid",shape="box"];2993 -> 8290[label="",style="solid", color="burlywood", weight=9]; 8290 -> 3072[label="",style="solid", color="burlywood", weight=3]; 2994[label="absReal1 (Neg vuz1580) (not (primCmpInt (Neg vuz1580) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8291[label="vuz1580/Succ vuz15800",fontsize=10,color="white",style="solid",shape="box"];2994 -> 8291[label="",style="solid", color="burlywood", weight=9]; 8291 -> 3073[label="",style="solid", color="burlywood", weight=3]; 8292[label="vuz1580/Zero",fontsize=10,color="white",style="solid",shape="box"];2994 -> 8292[label="",style="solid", color="burlywood", weight=9]; 8292 -> 3074[label="",style="solid", color="burlywood", weight=3]; 3153[label="primEqNat (Succ vuz170000) (Succ vuz173000)",fontsize=16,color="black",shape="box"];3153 -> 3173[label="",style="solid", color="black", weight=3]; 3154[label="primEqNat (Succ vuz170000) Zero",fontsize=16,color="black",shape="box"];3154 -> 3174[label="",style="solid", color="black", weight=3]; 3155[label="primEqNat Zero (Succ vuz173000)",fontsize=16,color="black",shape="box"];3155 -> 3175[label="",style="solid", color="black", weight=3]; 3156[label="primEqNat Zero Zero",fontsize=16,color="black",shape="box"];3156 -> 3176[label="",style="solid", color="black", weight=3]; 77[label="absReal1 (Integer (Pos (Succ vuz3100))) (not (primCmpInt (Pos (Succ vuz3100)) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];77 -> 90[label="",style="solid", color="black", weight=3]; 78[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];78 -> 91[label="",style="solid", color="black", weight=3]; 79[label="absReal1 (Integer (Neg (Succ vuz3100))) (not (primCmpInt (Neg (Succ vuz3100)) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];79 -> 92[label="",style="solid", color="black", weight=3]; 80[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];80 -> 93[label="",style="solid", color="black", weight=3]; 81[label="primQuotInt (primMulInt (Pos vuz80) (signumReal (fromInt vuz9))) (reduce2D (primMulInt (Pos vuz80) (signumReal (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];81 -> 94[label="",style="solid", color="black", weight=3]; 82[label="primQuotInt (primMulInt (Neg vuz80) (signumReal (fromInt vuz9))) (reduce2D (primMulInt (Neg vuz80) (signumReal (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];82 -> 95[label="",style="solid", color="black", weight=3]; 83[label="Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == fromInt (Pos Zero))) (abs (Integer vuz9))",fontsize=16,color="black",shape="box"];83 -> 96[label="",style="solid", color="black", weight=3]; 84[label="primQuotInt (absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT)))",fontsize=16,color="black",shape="box"];84 -> 97[label="",style="solid", color="black", weight=3]; 85[label="absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT)) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];85 -> 98[label="",style="solid", color="black", weight=3]; 3071[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpInt (Pos (Succ vuz15800)) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8293[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3071 -> 8293[label="",style="solid", color="burlywood", weight=9]; 8293 -> 3110[label="",style="solid", color="burlywood", weight=3]; 8294[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3071 -> 8294[label="",style="solid", color="burlywood", weight=9]; 8294 -> 3111[label="",style="solid", color="burlywood", weight=3]; 3072[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8295[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3072 -> 8295[label="",style="solid", color="burlywood", weight=9]; 8295 -> 3112[label="",style="solid", color="burlywood", weight=3]; 8296[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3072 -> 8296[label="",style="solid", color="burlywood", weight=9]; 8296 -> 3113[label="",style="solid", color="burlywood", weight=3]; 3073[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpInt (Neg (Succ vuz15800)) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8297[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3073 -> 8297[label="",style="solid", color="burlywood", weight=9]; 8297 -> 3114[label="",style="solid", color="burlywood", weight=3]; 8298[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3073 -> 8298[label="",style="solid", color="burlywood", weight=9]; 8298 -> 3115[label="",style="solid", color="burlywood", weight=3]; 3074[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8299[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3074 -> 8299[label="",style="solid", color="burlywood", weight=9]; 8299 -> 3116[label="",style="solid", color="burlywood", weight=3]; 8300[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3074 -> 8300[label="",style="solid", color="burlywood", weight=9]; 8300 -> 3117[label="",style="solid", color="burlywood", weight=3]; 3173 -> 3059[label="",style="dashed", color="red", weight=0]; 3173[label="primEqNat vuz170000 vuz173000",fontsize=16,color="magenta"];3173 -> 3218[label="",style="dashed", color="magenta", weight=3]; 3173 -> 3219[label="",style="dashed", color="magenta", weight=3]; 3174[label="False",fontsize=16,color="green",shape="box"];3175[label="False",fontsize=16,color="green",shape="box"];3176[label="True",fontsize=16,color="green",shape="box"];90[label="absReal1 (Integer (Pos (Succ vuz3100))) (not (primCmpNat (Succ vuz3100) Zero == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];90 -> 103[label="",style="solid", color="black", weight=3]; 91[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];91 -> 104[label="",style="solid", color="black", weight=3]; 92[label="absReal1 (Integer (Neg (Succ vuz3100))) (not (LT == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];92 -> 105[label="",style="solid", color="black", weight=3]; 93[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];93 -> 106[label="",style="solid", color="black", weight=3]; 94[label="primQuotInt (primMulInt (Pos vuz80) (signumReal3 (fromInt vuz9))) (reduce2D (primMulInt (Pos vuz80) (signumReal3 (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];94 -> 107[label="",style="solid", color="black", weight=3]; 95[label="primQuotInt (primMulInt (Neg vuz80) (signumReal3 (fromInt vuz9))) (reduce2D (primMulInt (Neg vuz80) (signumReal3 (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];95 -> 108[label="",style="solid", color="black", weight=3]; 96[label="Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == Integer (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == Integer (Pos Zero))) (abs (Integer vuz9))",fontsize=16,color="black",shape="box"];96 -> 109[label="",style="solid", color="black", weight=3]; 97[label="primQuotInt (absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];97 -> 110[label="",style="solid", color="black", weight=3]; 98[label="absReal1 (Integer vuz9) (not (compare (Integer vuz9) (fromInt (Pos Zero)) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer vuz9)) (absReal1 (Integer vuz9) (not (compare (Integer vuz9) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];98 -> 111[label="",style="solid", color="black", weight=3]; 3110[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpInt (Pos (Succ vuz15800)) (Pos vuz1740) == LT))",fontsize=16,color="black",shape="box"];3110 -> 3157[label="",style="solid", color="black", weight=3]; 3111[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpInt (Pos (Succ vuz15800)) (Neg vuz1740) == LT))",fontsize=16,color="black",shape="box"];3111 -> 3158[label="",style="solid", color="black", weight=3]; 3112[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8301[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3112 -> 8301[label="",style="solid", color="burlywood", weight=9]; 8301 -> 3159[label="",style="solid", color="burlywood", weight=3]; 8302[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3112 -> 8302[label="",style="solid", color="burlywood", weight=9]; 8302 -> 3160[label="",style="solid", color="burlywood", weight=3]; 3113[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8303[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3113 -> 8303[label="",style="solid", color="burlywood", weight=9]; 8303 -> 3161[label="",style="solid", color="burlywood", weight=3]; 8304[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3113 -> 8304[label="",style="solid", color="burlywood", weight=9]; 8304 -> 3162[label="",style="solid", color="burlywood", weight=3]; 3114[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpInt (Neg (Succ vuz15800)) (Pos vuz1740) == LT))",fontsize=16,color="black",shape="box"];3114 -> 3163[label="",style="solid", color="black", weight=3]; 3115[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpInt (Neg (Succ vuz15800)) (Neg vuz1740) == LT))",fontsize=16,color="black",shape="box"];3115 -> 3164[label="",style="solid", color="black", weight=3]; 3116[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8305[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3116 -> 8305[label="",style="solid", color="burlywood", weight=9]; 8305 -> 3165[label="",style="solid", color="burlywood", weight=3]; 8306[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3116 -> 8306[label="",style="solid", color="burlywood", weight=9]; 8306 -> 3166[label="",style="solid", color="burlywood", weight=3]; 3117[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8307[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3117 -> 8307[label="",style="solid", color="burlywood", weight=9]; 8307 -> 3167[label="",style="solid", color="burlywood", weight=3]; 8308[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3117 -> 8308[label="",style="solid", color="burlywood", weight=9]; 8308 -> 3168[label="",style="solid", color="burlywood", weight=3]; 3218[label="vuz170000",fontsize=16,color="green",shape="box"];3219[label="vuz173000",fontsize=16,color="green",shape="box"];103[label="absReal1 (Integer (Pos (Succ vuz3100))) (not (GT == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];103 -> 116[label="",style="solid", color="black", weight=3]; 104[label="absReal1 (Integer (Pos Zero)) (not False) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];104 -> 117[label="",style="solid", color="black", weight=3]; 105[label="absReal1 (Integer (Neg (Succ vuz3100))) (not True) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];105 -> 118[label="",style="solid", color="black", weight=3]; 106[label="absReal1 (Integer (Neg Zero)) (not False) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];106 -> 119[label="",style="solid", color="black", weight=3]; 107[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];107 -> 120[label="",style="solid", color="black", weight=3]; 108[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];108 -> 121[label="",style="solid", color="black", weight=3]; 109[label="Integer vuz8 * signumReal2 (Integer vuz9) (primEqInt vuz9 (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer vuz9) (primEqInt vuz9 (Pos Zero))) (abs (Integer vuz9))",fontsize=16,color="burlywood",shape="box"];8309[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];109 -> 8309[label="",style="solid", color="burlywood", weight=9]; 8309 -> 122[label="",style="solid", color="burlywood", weight=3]; 8310[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];109 -> 8310[label="",style="solid", color="burlywood", weight=9]; 8310 -> 123[label="",style="solid", color="burlywood", weight=3]; 110[label="primQuotInt (absReal1 (fromInt vuz9) (not (primCmpInt (fromInt vuz9) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (not (primCmpInt (fromInt vuz9) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];110 -> 124[label="",style="solid", color="black", weight=3]; 111[label="absReal1 (Integer vuz9) (not (compare (Integer vuz9) (Integer (Pos Zero)) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer vuz9)) (absReal1 (Integer vuz9) (not (compare (Integer vuz9) (Integer (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];111 -> 125[label="",style="solid", color="black", weight=3]; 3157 -> 4585[label="",style="dashed", color="red", weight=0]; 3157[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpNat (Succ vuz15800) vuz1740 == LT))",fontsize=16,color="magenta"];3157 -> 4586[label="",style="dashed", color="magenta", weight=3]; 3157 -> 4587[label="",style="dashed", color="magenta", weight=3]; 3157 -> 4588[label="",style="dashed", color="magenta", weight=3]; 3158[label="absReal1 (Pos (Succ vuz15800)) (not (GT == LT))",fontsize=16,color="black",shape="triangle"];3158 -> 3179[label="",style="solid", color="black", weight=3]; 3159[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3159 -> 3180[label="",style="solid", color="black", weight=3]; 3160[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3160 -> 3181[label="",style="solid", color="black", weight=3]; 3161[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3161 -> 3182[label="",style="solid", color="black", weight=3]; 3162[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];3162 -> 3183[label="",style="solid", color="black", weight=3]; 3163[label="absReal1 (Neg (Succ vuz15800)) (not (LT == LT))",fontsize=16,color="black",shape="triangle"];3163 -> 3184[label="",style="solid", color="black", weight=3]; 3164 -> 4618[label="",style="dashed", color="red", weight=0]; 3164[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpNat vuz1740 (Succ vuz15800) == LT))",fontsize=16,color="magenta"];3164 -> 4619[label="",style="dashed", color="magenta", weight=3]; 3164 -> 4620[label="",style="dashed", color="magenta", weight=3]; 3164 -> 4621[label="",style="dashed", color="magenta", weight=3]; 3165[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3165 -> 3187[label="",style="solid", color="black", weight=3]; 3166[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3166 -> 3188[label="",style="solid", color="black", weight=3]; 3167[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3167 -> 3189[label="",style="solid", color="black", weight=3]; 3168[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];3168 -> 3190[label="",style="solid", color="black", weight=3]; 116[label="absReal1 (Integer (Pos (Succ vuz3100))) (not False) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];116 -> 130[label="",style="solid", color="black", weight=3]; 117[label="absReal1 (Integer (Pos Zero)) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];117 -> 131[label="",style="solid", color="black", weight=3]; 118[label="absReal1 (Integer (Neg (Succ vuz3100))) False == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];118 -> 132[label="",style="solid", color="black", weight=3]; 119[label="absReal1 (Integer (Neg Zero)) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];119 -> 133[label="",style="solid", color="black", weight=3]; 120[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];120 -> 134[label="",style="solid", color="black", weight=3]; 121[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];121 -> 135[label="",style="solid", color="black", weight=3]; 122[label="Integer vuz8 * signumReal2 (Integer (Pos vuz90)) (primEqInt (Pos vuz90) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos vuz90)) (primEqInt (Pos vuz90) (Pos Zero))) (abs (Integer (Pos vuz90)))",fontsize=16,color="burlywood",shape="box"];8311[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];122 -> 8311[label="",style="solid", color="burlywood", weight=9]; 8311 -> 136[label="",style="solid", color="burlywood", weight=3]; 8312[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];122 -> 8312[label="",style="solid", color="burlywood", weight=9]; 8312 -> 137[label="",style="solid", color="burlywood", weight=3]; 123[label="Integer vuz8 * signumReal2 (Integer (Neg vuz90)) (primEqInt (Neg vuz90) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg vuz90)) (primEqInt (Neg vuz90) (Pos Zero))) (abs (Integer (Neg vuz90)))",fontsize=16,color="burlywood",shape="box"];8313[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];123 -> 8313[label="",style="solid", color="burlywood", weight=9]; 8313 -> 138[label="",style="solid", color="burlywood", weight=3]; 8314[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];123 -> 8314[label="",style="solid", color="burlywood", weight=9]; 8314 -> 139[label="",style="solid", color="burlywood", weight=3]; 124[label="primQuotInt (absReal1 vuz9 (not (primCmpInt vuz9 (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum vuz9) (absReal1 vuz9 (not (primCmpInt vuz9 (fromInt (Pos Zero)) == LT))))",fontsize=16,color="burlywood",shape="box"];8315[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];124 -> 8315[label="",style="solid", color="burlywood", weight=9]; 8315 -> 140[label="",style="solid", color="burlywood", weight=3]; 8316[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];124 -> 8316[label="",style="solid", color="burlywood", weight=9]; 8316 -> 141[label="",style="solid", color="burlywood", weight=3]; 125[label="absReal1 (Integer vuz9) (not (primCmpInt vuz9 (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer vuz9)) (absReal1 (Integer vuz9) (not (primCmpInt vuz9 (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8317[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];125 -> 8317[label="",style="solid", color="burlywood", weight=9]; 8317 -> 142[label="",style="solid", color="burlywood", weight=3]; 8318[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];125 -> 8318[label="",style="solid", color="burlywood", weight=9]; 8318 -> 143[label="",style="solid", color="burlywood", weight=3]; 4586[label="vuz1740",fontsize=16,color="green",shape="box"];4587[label="Succ vuz15800",fontsize=16,color="green",shape="box"];4588[label="vuz15800",fontsize=16,color="green",shape="box"];4585[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat vuz288 vuz289 == LT))",fontsize=16,color="burlywood",shape="triangle"];8319[label="vuz288/Succ vuz2880",fontsize=10,color="white",style="solid",shape="box"];4585 -> 8319[label="",style="solid", color="burlywood", weight=9]; 8319 -> 4616[label="",style="solid", color="burlywood", weight=3]; 8320[label="vuz288/Zero",fontsize=10,color="white",style="solid",shape="box"];4585 -> 8320[label="",style="solid", color="burlywood", weight=9]; 8320 -> 4617[label="",style="solid", color="burlywood", weight=3]; 3179[label="absReal1 (Pos (Succ vuz15800)) (not False)",fontsize=16,color="black",shape="triangle"];3179 -> 3222[label="",style="solid", color="black", weight=3]; 3180[label="absReal1 (Pos Zero) (not (primCmpNat Zero (Succ vuz17400) == LT))",fontsize=16,color="black",shape="box"];3180 -> 3223[label="",style="solid", color="black", weight=3]; 3181[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];3181 -> 3224[label="",style="solid", color="black", weight=3]; 3182[label="absReal1 (Pos Zero) (not (GT == LT))",fontsize=16,color="black",shape="box"];3182 -> 3225[label="",style="solid", color="black", weight=3]; 3183 -> 3181[label="",style="dashed", color="red", weight=0]; 3183[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="magenta"];3184[label="absReal1 (Neg (Succ vuz15800)) (not True)",fontsize=16,color="black",shape="box"];3184 -> 3226[label="",style="solid", color="black", weight=3]; 4619[label="Succ vuz15800",fontsize=16,color="green",shape="box"];4620[label="vuz1740",fontsize=16,color="green",shape="box"];4621[label="vuz15800",fontsize=16,color="green",shape="box"];4618[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat vuz292 vuz293 == LT))",fontsize=16,color="burlywood",shape="triangle"];8321[label="vuz292/Succ vuz2920",fontsize=10,color="white",style="solid",shape="box"];4618 -> 8321[label="",style="solid", color="burlywood", weight=9]; 8321 -> 4649[label="",style="solid", color="burlywood", weight=3]; 8322[label="vuz292/Zero",fontsize=10,color="white",style="solid",shape="box"];4618 -> 8322[label="",style="solid", color="burlywood", weight=9]; 8322 -> 4650[label="",style="solid", color="burlywood", weight=3]; 3187[label="absReal1 (Neg Zero) (not (LT == LT))",fontsize=16,color="black",shape="box"];3187 -> 3229[label="",style="solid", color="black", weight=3]; 3188[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];3188 -> 3230[label="",style="solid", color="black", weight=3]; 3189[label="absReal1 (Neg Zero) (not (primCmpNat (Succ vuz17400) Zero == LT))",fontsize=16,color="black",shape="box"];3189 -> 3231[label="",style="solid", color="black", weight=3]; 3190 -> 3188[label="",style="dashed", color="red", weight=0]; 3190[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="magenta"];130[label="absReal1 (Integer (Pos (Succ vuz3100))) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];130 -> 148[label="",style="solid", color="black", weight=3]; 131[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];131 -> 149[label="",style="solid", color="black", weight=3]; 132[label="absReal0 (Integer (Neg (Succ vuz3100))) otherwise == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];132 -> 150[label="",style="solid", color="black", weight=3]; 133[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];133 -> 151[label="",style="solid", color="black", weight=3]; 134[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (abs vuz9))",fontsize=16,color="burlywood",shape="box"];8323[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];134 -> 8323[label="",style="solid", color="burlywood", weight=9]; 8323 -> 152[label="",style="solid", color="burlywood", weight=3]; 8324[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];134 -> 8324[label="",style="solid", color="burlywood", weight=9]; 8324 -> 153[label="",style="solid", color="burlywood", weight=3]; 135[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (abs vuz9))",fontsize=16,color="burlywood",shape="box"];8325[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];135 -> 8325[label="",style="solid", color="burlywood", weight=9]; 8325 -> 154[label="",style="solid", color="burlywood", weight=3]; 8326[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];135 -> 8326[label="",style="solid", color="burlywood", weight=9]; 8326 -> 155[label="",style="solid", color="burlywood", weight=3]; 136[label="Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (primEqInt (Pos (Succ vuz900)) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (primEqInt (Pos (Succ vuz900)) (Pos Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];136 -> 156[label="",style="solid", color="black", weight=3]; 137[label="Integer vuz8 * signumReal2 (Integer (Pos Zero)) (primEqInt (Pos Zero) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos Zero)) (primEqInt (Pos Zero) (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];137 -> 157[label="",style="solid", color="black", weight=3]; 138[label="Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];138 -> 158[label="",style="solid", color="black", weight=3]; 139[label="Integer vuz8 * signumReal2 (Integer (Neg Zero)) (primEqInt (Neg Zero) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg Zero)) (primEqInt (Neg Zero) (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];139 -> 159[label="",style="solid", color="black", weight=3]; 140[label="primQuotInt (absReal1 (Pos vuz90) (not (primCmpInt (Pos vuz90) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Pos vuz90)) (absReal1 (Pos vuz90) (not (primCmpInt (Pos vuz90) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="burlywood",shape="box"];8327[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];140 -> 8327[label="",style="solid", color="burlywood", weight=9]; 8327 -> 160[label="",style="solid", color="burlywood", weight=3]; 8328[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];140 -> 8328[label="",style="solid", color="burlywood", weight=9]; 8328 -> 161[label="",style="solid", color="burlywood", weight=3]; 141[label="primQuotInt (absReal1 (Neg vuz90) (not (primCmpInt (Neg vuz90) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Neg vuz90)) (absReal1 (Neg vuz90) (not (primCmpInt (Neg vuz90) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="burlywood",shape="box"];8329[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];141 -> 8329[label="",style="solid", color="burlywood", weight=9]; 8329 -> 162[label="",style="solid", color="burlywood", weight=3]; 8330[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];141 -> 8330[label="",style="solid", color="burlywood", weight=9]; 8330 -> 163[label="",style="solid", color="burlywood", weight=3]; 142[label="absReal1 (Integer (Pos vuz90)) (not (primCmpInt (Pos vuz90) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos vuz90))) (absReal1 (Integer (Pos vuz90)) (not (primCmpInt (Pos vuz90) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8331[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];142 -> 8331[label="",style="solid", color="burlywood", weight=9]; 8331 -> 164[label="",style="solid", color="burlywood", weight=3]; 8332[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];142 -> 8332[label="",style="solid", color="burlywood", weight=9]; 8332 -> 165[label="",style="solid", color="burlywood", weight=3]; 143[label="absReal1 (Integer (Neg vuz90)) (not (primCmpInt (Neg vuz90) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg vuz90))) (absReal1 (Integer (Neg vuz90)) (not (primCmpInt (Neg vuz90) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8333[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];143 -> 8333[label="",style="solid", color="burlywood", weight=9]; 8333 -> 166[label="",style="solid", color="burlywood", weight=3]; 8334[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];143 -> 8334[label="",style="solid", color="burlywood", weight=9]; 8334 -> 167[label="",style="solid", color="burlywood", weight=3]; 4616[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat (Succ vuz2880) vuz289 == LT))",fontsize=16,color="burlywood",shape="box"];8335[label="vuz289/Succ vuz2890",fontsize=10,color="white",style="solid",shape="box"];4616 -> 8335[label="",style="solid", color="burlywood", weight=9]; 8335 -> 4651[label="",style="solid", color="burlywood", weight=3]; 8336[label="vuz289/Zero",fontsize=10,color="white",style="solid",shape="box"];4616 -> 8336[label="",style="solid", color="burlywood", weight=9]; 8336 -> 4652[label="",style="solid", color="burlywood", weight=3]; 4617[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat Zero vuz289 == LT))",fontsize=16,color="burlywood",shape="box"];8337[label="vuz289/Succ vuz2890",fontsize=10,color="white",style="solid",shape="box"];4617 -> 8337[label="",style="solid", color="burlywood", weight=9]; 8337 -> 4653[label="",style="solid", color="burlywood", weight=3]; 8338[label="vuz289/Zero",fontsize=10,color="white",style="solid",shape="box"];4617 -> 8338[label="",style="solid", color="burlywood", weight=9]; 8338 -> 4654[label="",style="solid", color="burlywood", weight=3]; 3222[label="absReal1 (Pos (Succ vuz15800)) True",fontsize=16,color="black",shape="box"];3222 -> 3250[label="",style="solid", color="black", weight=3]; 3223[label="absReal1 (Pos Zero) (not (LT == LT))",fontsize=16,color="black",shape="box"];3223 -> 3251[label="",style="solid", color="black", weight=3]; 3224[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="triangle"];3224 -> 3252[label="",style="solid", color="black", weight=3]; 3225 -> 3224[label="",style="dashed", color="red", weight=0]; 3225[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="magenta"];3226[label="absReal1 (Neg (Succ vuz15800)) False",fontsize=16,color="black",shape="box"];3226 -> 3253[label="",style="solid", color="black", weight=3]; 4649[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat (Succ vuz2920) vuz293 == LT))",fontsize=16,color="burlywood",shape="box"];8339[label="vuz293/Succ vuz2930",fontsize=10,color="white",style="solid",shape="box"];4649 -> 8339[label="",style="solid", color="burlywood", weight=9]; 8339 -> 4674[label="",style="solid", color="burlywood", weight=3]; 8340[label="vuz293/Zero",fontsize=10,color="white",style="solid",shape="box"];4649 -> 8340[label="",style="solid", color="burlywood", weight=9]; 8340 -> 4675[label="",style="solid", color="burlywood", weight=3]; 4650[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat Zero vuz293 == LT))",fontsize=16,color="burlywood",shape="box"];8341[label="vuz293/Succ vuz2930",fontsize=10,color="white",style="solid",shape="box"];4650 -> 8341[label="",style="solid", color="burlywood", weight=9]; 8341 -> 4676[label="",style="solid", color="burlywood", weight=3]; 8342[label="vuz293/Zero",fontsize=10,color="white",style="solid",shape="box"];4650 -> 8342[label="",style="solid", color="burlywood", weight=9]; 8342 -> 4677[label="",style="solid", color="burlywood", weight=3]; 3229[label="absReal1 (Neg Zero) (not True)",fontsize=16,color="black",shape="box"];3229 -> 3256[label="",style="solid", color="black", weight=3]; 3230[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="triangle"];3230 -> 3257[label="",style="solid", color="black", weight=3]; 3231[label="absReal1 (Neg Zero) (not (GT == LT))",fontsize=16,color="black",shape="box"];3231 -> 3258[label="",style="solid", color="black", weight=3]; 148[label="Integer (Pos (Succ vuz3100)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];148 -> 172[label="",style="solid", color="black", weight=3]; 149[label="Integer (Pos Zero) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];149 -> 173[label="",style="solid", color="black", weight=3]; 150[label="absReal0 (Integer (Neg (Succ vuz3100))) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];150 -> 174[label="",style="solid", color="black", weight=3]; 151[label="Integer (Neg Zero) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];151 -> 175[label="",style="solid", color="black", weight=3]; 152[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (abs (Pos vuz90)))",fontsize=16,color="burlywood",shape="box"];8343[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];152 -> 8343[label="",style="solid", color="burlywood", weight=9]; 8343 -> 176[label="",style="solid", color="burlywood", weight=3]; 8344[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];152 -> 8344[label="",style="solid", color="burlywood", weight=9]; 8344 -> 177[label="",style="solid", color="burlywood", weight=3]; 153[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (abs (Neg vuz90)))",fontsize=16,color="burlywood",shape="box"];8345[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];153 -> 8345[label="",style="solid", color="burlywood", weight=9]; 8345 -> 178[label="",style="solid", color="burlywood", weight=3]; 8346[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];153 -> 8346[label="",style="solid", color="burlywood", weight=9]; 8346 -> 179[label="",style="solid", color="burlywood", weight=3]; 154[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (abs (Pos vuz90)))",fontsize=16,color="burlywood",shape="box"];8347[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];154 -> 8347[label="",style="solid", color="burlywood", weight=9]; 8347 -> 180[label="",style="solid", color="burlywood", weight=3]; 8348[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];154 -> 8348[label="",style="solid", color="burlywood", weight=9]; 8348 -> 181[label="",style="solid", color="burlywood", weight=3]; 155[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (abs (Neg vuz90)))",fontsize=16,color="burlywood",shape="box"];8349[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];155 -> 8349[label="",style="solid", color="burlywood", weight=9]; 8349 -> 182[label="",style="solid", color="burlywood", weight=3]; 8350[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];155 -> 8350[label="",style="solid", color="burlywood", weight=9]; 8350 -> 183[label="",style="solid", color="burlywood", weight=3]; 156[label="Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) False `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) False) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];156 -> 184[label="",style="solid", color="black", weight=3]; 157[label="Integer vuz8 * signumReal2 (Integer (Pos Zero)) True `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos Zero)) True) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];157 -> 185[label="",style="solid", color="black", weight=3]; 158[label="Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];158 -> 186[label="",style="solid", color="black", weight=3]; 159[label="Integer vuz8 * signumReal2 (Integer (Neg Zero)) True `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg Zero)) True) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];159 -> 187[label="",style="solid", color="black", weight=3]; 160[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];160 -> 188[label="",style="solid", color="black", weight=3]; 161[label="primQuotInt (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];161 -> 189[label="",style="solid", color="black", weight=3]; 162[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];162 -> 190[label="",style="solid", color="black", weight=3]; 163[label="primQuotInt (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];163 -> 191[label="",style="solid", color="black", weight=3]; 164[label="absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];164 -> 192[label="",style="solid", color="black", weight=3]; 165[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];165 -> 193[label="",style="solid", color="black", weight=3]; 166[label="absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];166 -> 194[label="",style="solid", color="black", weight=3]; 167[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];167 -> 195[label="",style="solid", color="black", weight=3]; 4651[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat (Succ vuz2880) (Succ vuz2890) == LT))",fontsize=16,color="black",shape="box"];4651 -> 4678[label="",style="solid", color="black", weight=3]; 4652[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat (Succ vuz2880) Zero == LT))",fontsize=16,color="black",shape="box"];4652 -> 4679[label="",style="solid", color="black", weight=3]; 4653[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat Zero (Succ vuz2890) == LT))",fontsize=16,color="black",shape="box"];4653 -> 4680[label="",style="solid", color="black", weight=3]; 4654[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];4654 -> 4681[label="",style="solid", color="black", weight=3]; 3250[label="Pos (Succ vuz15800)",fontsize=16,color="green",shape="box"];3251[label="absReal1 (Pos Zero) (not True)",fontsize=16,color="black",shape="box"];3251 -> 3267[label="",style="solid", color="black", weight=3]; 3252[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];3252 -> 3268[label="",style="solid", color="black", weight=3]; 3253[label="absReal0 (Neg (Succ vuz15800)) otherwise",fontsize=16,color="black",shape="box"];3253 -> 3269[label="",style="solid", color="black", weight=3]; 4674[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat (Succ vuz2920) (Succ vuz2930) == LT))",fontsize=16,color="black",shape="box"];4674 -> 4695[label="",style="solid", color="black", weight=3]; 4675[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat (Succ vuz2920) Zero == LT))",fontsize=16,color="black",shape="box"];4675 -> 4696[label="",style="solid", color="black", weight=3]; 4676[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat Zero (Succ vuz2930) == LT))",fontsize=16,color="black",shape="box"];4676 -> 4697[label="",style="solid", color="black", weight=3]; 4677[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];4677 -> 4698[label="",style="solid", color="black", weight=3]; 3256[label="absReal1 (Neg Zero) False",fontsize=16,color="black",shape="box"];3256 -> 3274[label="",style="solid", color="black", weight=3]; 3257[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];3257 -> 3275[label="",style="solid", color="black", weight=3]; 3258 -> 3230[label="",style="dashed", color="red", weight=0]; 3258[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="magenta"];172[label="Integer (Pos (Succ vuz3100)) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];172 -> 200[label="",style="solid", color="black", weight=3]; 173 -> 2647[label="",style="dashed", color="red", weight=0]; 173[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];173 -> 2649[label="",style="dashed", color="magenta", weight=3]; 173 -> 2650[label="",style="dashed", color="magenta", weight=3]; 174[label="`negate` Integer (Neg (Succ vuz3100)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];174 -> 201[label="",style="solid", color="black", weight=3]; 175 -> 2647[label="",style="dashed", color="red", weight=0]; 175[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];175 -> 2651[label="",style="dashed", color="magenta", weight=3]; 175 -> 2652[label="",style="dashed", color="magenta", weight=3]; 176[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];176 -> 202[label="",style="solid", color="black", weight=3]; 177[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];177 -> 203[label="",style="solid", color="black", weight=3]; 178[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];178 -> 204[label="",style="solid", color="black", weight=3]; 179[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];179 -> 205[label="",style="solid", color="black", weight=3]; 180[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];180 -> 206[label="",style="solid", color="black", weight=3]; 181[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];181 -> 207[label="",style="solid", color="black", weight=3]; 182[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];182 -> 208[label="",style="solid", color="black", weight=3]; 183[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];183 -> 209[label="",style="solid", color="black", weight=3]; 184[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];184 -> 210[label="",style="solid", color="black", weight=3]; 185[label="Integer vuz8 * fromInt (Pos Zero) `quot` reduce2D (Integer vuz8 * fromInt (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];185 -> 211[label="",style="solid", color="black", weight=3]; 186[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];186 -> 212[label="",style="solid", color="black", weight=3]; 187[label="Integer vuz8 * fromInt (Pos Zero) `quot` reduce2D (Integer vuz8 * fromInt (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];187 -> 213[label="",style="solid", color="black", weight=3]; 188[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];188 -> 214[label="",style="solid", color="black", weight=3]; 189[label="primQuotInt (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];189 -> 215[label="",style="solid", color="black", weight=3]; 190[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];190 -> 216[label="",style="solid", color="black", weight=3]; 191[label="primQuotInt (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];191 -> 217[label="",style="solid", color="black", weight=3]; 192[label="absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpNat (Succ vuz900) Zero == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpNat (Succ vuz900) Zero == LT)))",fontsize=16,color="black",shape="box"];192 -> 218[label="",style="solid", color="black", weight=3]; 193[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];193 -> 219[label="",style="solid", color="black", weight=3]; 194[label="absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];194 -> 220[label="",style="solid", color="black", weight=3]; 195[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];195 -> 221[label="",style="solid", color="black", weight=3]; 4678 -> 4585[label="",style="dashed", color="red", weight=0]; 4678[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat vuz2880 vuz2890 == LT))",fontsize=16,color="magenta"];4678 -> 4699[label="",style="dashed", color="magenta", weight=3]; 4678 -> 4700[label="",style="dashed", color="magenta", weight=3]; 4679 -> 3158[label="",style="dashed", color="red", weight=0]; 4679[label="absReal1 (Pos (Succ vuz287)) (not (GT == LT))",fontsize=16,color="magenta"];4679 -> 4701[label="",style="dashed", color="magenta", weight=3]; 4680[label="absReal1 (Pos (Succ vuz287)) (not (LT == LT))",fontsize=16,color="black",shape="box"];4680 -> 4702[label="",style="solid", color="black", weight=3]; 4681[label="absReal1 (Pos (Succ vuz287)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4681 -> 4703[label="",style="solid", color="black", weight=3]; 3267[label="absReal1 (Pos Zero) False",fontsize=16,color="black",shape="box"];3267 -> 3311[label="",style="solid", color="black", weight=3]; 3268[label="Pos Zero",fontsize=16,color="green",shape="box"];3269[label="absReal0 (Neg (Succ vuz15800)) True",fontsize=16,color="black",shape="box"];3269 -> 3312[label="",style="solid", color="black", weight=3]; 4695 -> 4618[label="",style="dashed", color="red", weight=0]; 4695[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat vuz2920 vuz2930 == LT))",fontsize=16,color="magenta"];4695 -> 4751[label="",style="dashed", color="magenta", weight=3]; 4695 -> 4752[label="",style="dashed", color="magenta", weight=3]; 4696[label="absReal1 (Neg (Succ vuz291)) (not (GT == LT))",fontsize=16,color="black",shape="box"];4696 -> 4753[label="",style="solid", color="black", weight=3]; 4697 -> 3163[label="",style="dashed", color="red", weight=0]; 4697[label="absReal1 (Neg (Succ vuz291)) (not (LT == LT))",fontsize=16,color="magenta"];4697 -> 4754[label="",style="dashed", color="magenta", weight=3]; 4698[label="absReal1 (Neg (Succ vuz291)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4698 -> 4755[label="",style="solid", color="black", weight=3]; 3274[label="absReal0 (Neg Zero) otherwise",fontsize=16,color="black",shape="box"];3274 -> 3317[label="",style="solid", color="black", weight=3]; 3275[label="Neg Zero",fontsize=16,color="green",shape="box"];200 -> 2647[label="",style="dashed", color="red", weight=0]; 200[label="primEqInt (Pos (Succ vuz3100)) (Pos Zero)",fontsize=16,color="magenta"];200 -> 2653[label="",style="dashed", color="magenta", weight=3]; 200 -> 2654[label="",style="dashed", color="magenta", weight=3]; 2649[label="Pos Zero",fontsize=16,color="green",shape="box"];2650[label="Pos Zero",fontsize=16,color="green",shape="box"];201[label="Integer (primNegInt (Neg (Succ vuz3100))) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];201 -> 224[label="",style="solid", color="black", weight=3]; 2651[label="Pos Zero",fontsize=16,color="green",shape="box"];2652[label="Neg Zero",fontsize=16,color="green",shape="box"];202 -> 225[label="",style="dashed", color="red", weight=0]; 202[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];202 -> 226[label="",style="dashed", color="magenta", weight=3]; 202 -> 227[label="",style="dashed", color="magenta", weight=3]; 203 -> 228[label="",style="dashed", color="red", weight=0]; 203[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="magenta"];203 -> 229[label="",style="dashed", color="magenta", weight=3]; 203 -> 230[label="",style="dashed", color="magenta", weight=3]; 204[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];204 -> 231[label="",style="solid", color="black", weight=3]; 205 -> 232[label="",style="dashed", color="red", weight=0]; 205[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="magenta"];205 -> 233[label="",style="dashed", color="magenta", weight=3]; 205 -> 234[label="",style="dashed", color="magenta", weight=3]; 206 -> 235[label="",style="dashed", color="red", weight=0]; 206[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];206 -> 236[label="",style="dashed", color="magenta", weight=3]; 206 -> 237[label="",style="dashed", color="magenta", weight=3]; 207 -> 238[label="",style="dashed", color="red", weight=0]; 207[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="magenta"];207 -> 239[label="",style="dashed", color="magenta", weight=3]; 207 -> 240[label="",style="dashed", color="magenta", weight=3]; 208[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];208 -> 241[label="",style="solid", color="black", weight=3]; 209 -> 242[label="",style="dashed", color="red", weight=0]; 209[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="magenta"];209 -> 243[label="",style="dashed", color="magenta", weight=3]; 209 -> 244[label="",style="dashed", color="magenta", weight=3]; 210[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];210 -> 245[label="",style="solid", color="black", weight=3]; 211[label="Integer vuz8 * Integer (Pos Zero) `quot` reduce2D (Integer vuz8 * Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];211 -> 246[label="",style="solid", color="black", weight=3]; 212[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];212 -> 247[label="",style="solid", color="black", weight=3]; 213[label="Integer vuz8 * Integer (Pos Zero) `quot` reduce2D (Integer vuz8 * Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];213 -> 248[label="",style="solid", color="black", weight=3]; 214[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (primCmpNat (Succ vuz900) Zero == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (primCmpNat (Succ vuz900) Zero == LT))))",fontsize=16,color="black",shape="box"];214 -> 249[label="",style="solid", color="black", weight=3]; 215[label="primQuotInt (absReal1 (Pos Zero) (not (EQ == LT))) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not (EQ == LT))))",fontsize=16,color="black",shape="box"];215 -> 250[label="",style="solid", color="black", weight=3]; 216[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not (LT == LT))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not (LT == LT))))",fontsize=16,color="black",shape="box"];216 -> 251[label="",style="solid", color="black", weight=3]; 217[label="primQuotInt (absReal1 (Neg Zero) (not (EQ == LT))) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not (EQ == LT))))",fontsize=16,color="black",shape="box"];217 -> 252[label="",style="solid", color="black", weight=3]; 218[label="absReal1 (Integer (Pos (Succ vuz900))) (not (GT == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];218 -> 253[label="",style="solid", color="black", weight=3]; 219[label="absReal1 (Integer (Pos Zero)) (not False) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="box"];219 -> 254[label="",style="solid", color="black", weight=3]; 220[label="absReal1 (Integer (Neg (Succ vuz900))) (not True) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) (not True))",fontsize=16,color="black",shape="box"];220 -> 255[label="",style="solid", color="black", weight=3]; 221[label="absReal1 (Integer (Neg Zero)) (not False) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="box"];221 -> 256[label="",style="solid", color="black", weight=3]; 4699[label="vuz2890",fontsize=16,color="green",shape="box"];4700[label="vuz2880",fontsize=16,color="green",shape="box"];4701[label="vuz287",fontsize=16,color="green",shape="box"];4702[label="absReal1 (Pos (Succ vuz287)) (not True)",fontsize=16,color="black",shape="box"];4702 -> 4756[label="",style="solid", color="black", weight=3]; 4703 -> 3179[label="",style="dashed", color="red", weight=0]; 4703[label="absReal1 (Pos (Succ vuz287)) (not False)",fontsize=16,color="magenta"];4703 -> 4757[label="",style="dashed", color="magenta", weight=3]; 3311[label="absReal0 (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];3311 -> 3356[label="",style="solid", color="black", weight=3]; 3312[label="`negate` Neg (Succ vuz15800)",fontsize=16,color="black",shape="box"];3312 -> 3357[label="",style="solid", color="black", weight=3]; 4751[label="vuz2930",fontsize=16,color="green",shape="box"];4752[label="vuz2920",fontsize=16,color="green",shape="box"];4753[label="absReal1 (Neg (Succ vuz291)) (not False)",fontsize=16,color="black",shape="triangle"];4753 -> 4780[label="",style="solid", color="black", weight=3]; 4754[label="vuz291",fontsize=16,color="green",shape="box"];4755 -> 4753[label="",style="dashed", color="red", weight=0]; 4755[label="absReal1 (Neg (Succ vuz291)) (not False)",fontsize=16,color="magenta"];3317[label="absReal0 (Neg Zero) True",fontsize=16,color="black",shape="box"];3317 -> 3363[label="",style="solid", color="black", weight=3]; 2653[label="Pos Zero",fontsize=16,color="green",shape="box"];2654[label="Pos (Succ vuz3100)",fontsize=16,color="green",shape="box"];224[label="Integer (primNegInt (Neg (Succ vuz3100))) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];224 -> 258[label="",style="solid", color="black", weight=3]; 226 -> 2647[label="",style="dashed", color="red", weight=0]; 226[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];226 -> 2661[label="",style="dashed", color="magenta", weight=3]; 226 -> 2662[label="",style="dashed", color="magenta", weight=3]; 227 -> 2647[label="",style="dashed", color="red", weight=0]; 227[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];227 -> 2663[label="",style="dashed", color="magenta", weight=3]; 227 -> 2664[label="",style="dashed", color="magenta", weight=3]; 225[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz11)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz12)) (abs (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8351[label="vuz11/False",fontsize=10,color="white",style="solid",shape="box"];225 -> 8351[label="",style="solid", color="burlywood", weight=9]; 8351 -> 261[label="",style="solid", color="burlywood", weight=3]; 8352[label="vuz11/True",fontsize=10,color="white",style="solid",shape="box"];225 -> 8352[label="",style="solid", color="burlywood", weight=9]; 8352 -> 262[label="",style="solid", color="burlywood", weight=3]; 229 -> 2647[label="",style="dashed", color="red", weight=0]; 229[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];229 -> 2665[label="",style="dashed", color="magenta", weight=3]; 229 -> 2666[label="",style="dashed", color="magenta", weight=3]; 230 -> 2647[label="",style="dashed", color="red", weight=0]; 230[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];230 -> 2667[label="",style="dashed", color="magenta", weight=3]; 230 -> 2668[label="",style="dashed", color="magenta", weight=3]; 228[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz13)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz14)) (abs (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8353[label="vuz13/False",fontsize=10,color="white",style="solid",shape="box"];228 -> 8353[label="",style="solid", color="burlywood", weight=9]; 8353 -> 263[label="",style="solid", color="burlywood", weight=3]; 8354[label="vuz13/True",fontsize=10,color="white",style="solid",shape="box"];228 -> 8354[label="",style="solid", color="burlywood", weight=9]; 8354 -> 264[label="",style="solid", color="burlywood", weight=3]; 231[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];231 -> 265[label="",style="solid", color="black", weight=3]; 233 -> 2647[label="",style="dashed", color="red", weight=0]; 233[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];233 -> 2669[label="",style="dashed", color="magenta", weight=3]; 233 -> 2670[label="",style="dashed", color="magenta", weight=3]; 234 -> 2647[label="",style="dashed", color="red", weight=0]; 234[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];234 -> 2671[label="",style="dashed", color="magenta", weight=3]; 234 -> 2672[label="",style="dashed", color="magenta", weight=3]; 232[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz15)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz16)) (abs (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8355[label="vuz15/False",fontsize=10,color="white",style="solid",shape="box"];232 -> 8355[label="",style="solid", color="burlywood", weight=9]; 8355 -> 266[label="",style="solid", color="burlywood", weight=3]; 8356[label="vuz15/True",fontsize=10,color="white",style="solid",shape="box"];232 -> 8356[label="",style="solid", color="burlywood", weight=9]; 8356 -> 267[label="",style="solid", color="burlywood", weight=3]; 236 -> 2647[label="",style="dashed", color="red", weight=0]; 236[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];236 -> 2673[label="",style="dashed", color="magenta", weight=3]; 236 -> 2674[label="",style="dashed", color="magenta", weight=3]; 237 -> 2647[label="",style="dashed", color="red", weight=0]; 237[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];237 -> 2675[label="",style="dashed", color="magenta", weight=3]; 237 -> 2676[label="",style="dashed", color="magenta", weight=3]; 235[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz17)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz18)) (abs (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8357[label="vuz17/False",fontsize=10,color="white",style="solid",shape="box"];235 -> 8357[label="",style="solid", color="burlywood", weight=9]; 8357 -> 270[label="",style="solid", color="burlywood", weight=3]; 8358[label="vuz17/True",fontsize=10,color="white",style="solid",shape="box"];235 -> 8358[label="",style="solid", color="burlywood", weight=9]; 8358 -> 271[label="",style="solid", color="burlywood", weight=3]; 239 -> 2647[label="",style="dashed", color="red", weight=0]; 239[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];239 -> 2677[label="",style="dashed", color="magenta", weight=3]; 239 -> 2678[label="",style="dashed", color="magenta", weight=3]; 240 -> 2647[label="",style="dashed", color="red", weight=0]; 240[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];240 -> 2679[label="",style="dashed", color="magenta", weight=3]; 240 -> 2680[label="",style="dashed", color="magenta", weight=3]; 238[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz19)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz20)) (abs (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8359[label="vuz19/False",fontsize=10,color="white",style="solid",shape="box"];238 -> 8359[label="",style="solid", color="burlywood", weight=9]; 8359 -> 272[label="",style="solid", color="burlywood", weight=3]; 8360[label="vuz19/True",fontsize=10,color="white",style="solid",shape="box"];238 -> 8360[label="",style="solid", color="burlywood", weight=9]; 8360 -> 273[label="",style="solid", color="burlywood", weight=3]; 241[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];241 -> 274[label="",style="solid", color="black", weight=3]; 243 -> 2647[label="",style="dashed", color="red", weight=0]; 243[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];243 -> 2681[label="",style="dashed", color="magenta", weight=3]; 243 -> 2682[label="",style="dashed", color="magenta", weight=3]; 244 -> 2647[label="",style="dashed", color="red", weight=0]; 244[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];244 -> 2683[label="",style="dashed", color="magenta", weight=3]; 244 -> 2684[label="",style="dashed", color="magenta", weight=3]; 242[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz21)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz22)) (abs (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8361[label="vuz21/False",fontsize=10,color="white",style="solid",shape="box"];242 -> 8361[label="",style="solid", color="burlywood", weight=9]; 8361 -> 275[label="",style="solid", color="burlywood", weight=3]; 8362[label="vuz21/True",fontsize=10,color="white",style="solid",shape="box"];242 -> 8362[label="",style="solid", color="burlywood", weight=9]; 8362 -> 276[label="",style="solid", color="burlywood", weight=3]; 245[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];245 -> 277[label="",style="solid", color="black", weight=3]; 246[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` reduce2D (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];246 -> 278[label="",style="solid", color="black", weight=3]; 247[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];247 -> 279[label="",style="solid", color="black", weight=3]; 248[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` reduce2D (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];248 -> 280[label="",style="solid", color="black", weight=3]; 249[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (GT == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (GT == LT))))",fontsize=16,color="black",shape="box"];249 -> 281[label="",style="solid", color="black", weight=3]; 250[label="primQuotInt (absReal1 (Pos Zero) (not False)) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not False)))",fontsize=16,color="black",shape="box"];250 -> 282[label="",style="solid", color="black", weight=3]; 251[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not True)) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not True)))",fontsize=16,color="black",shape="box"];251 -> 283[label="",style="solid", color="black", weight=3]; 252[label="primQuotInt (absReal1 (Neg Zero) (not False)) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not False)))",fontsize=16,color="black",shape="box"];252 -> 284[label="",style="solid", color="black", weight=3]; 253[label="absReal1 (Integer (Pos (Succ vuz900))) (not False) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not False))",fontsize=16,color="black",shape="box"];253 -> 285[label="",style="solid", color="black", weight=3]; 254[label="absReal1 (Integer (Pos Zero)) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];254 -> 286[label="",style="solid", color="black", weight=3]; 255[label="absReal1 (Integer (Neg (Succ vuz900))) False `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) False)",fontsize=16,color="black",shape="box"];255 -> 287[label="",style="solid", color="black", weight=3]; 256[label="absReal1 (Integer (Neg Zero)) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];256 -> 288[label="",style="solid", color="black", weight=3]; 4756[label="absReal1 (Pos (Succ vuz287)) False",fontsize=16,color="black",shape="box"];4756 -> 4781[label="",style="solid", color="black", weight=3]; 4757[label="vuz287",fontsize=16,color="green",shape="box"];3356[label="absReal0 (Pos Zero) True",fontsize=16,color="black",shape="box"];3356 -> 3377[label="",style="solid", color="black", weight=3]; 3357 -> 2686[label="",style="dashed", color="red", weight=0]; 3357[label="primNegInt (Neg (Succ vuz15800))",fontsize=16,color="magenta"];3357 -> 3378[label="",style="dashed", color="magenta", weight=3]; 4780[label="absReal1 (Neg (Succ vuz291)) True",fontsize=16,color="black",shape="box"];4780 -> 4827[label="",style="solid", color="black", weight=3]; 3363[label="`negate` Neg Zero",fontsize=16,color="black",shape="box"];3363 -> 3384[label="",style="solid", color="black", weight=3]; 258 -> 2647[label="",style="dashed", color="red", weight=0]; 258[label="primEqInt (primNegInt (Neg (Succ vuz3100))) (Pos Zero)",fontsize=16,color="magenta"];258 -> 2685[label="",style="dashed", color="magenta", weight=3]; 258 -> 2686[label="",style="dashed", color="magenta", weight=3]; 2661[label="Pos Zero",fontsize=16,color="green",shape="box"];2662[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];2663[label="Pos Zero",fontsize=16,color="green",shape="box"];2664[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];261[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz12)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];261 -> 291[label="",style="solid", color="black", weight=3]; 262[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz12)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];262 -> 292[label="",style="solid", color="black", weight=3]; 2665[label="Pos Zero",fontsize=16,color="green",shape="box"];2666[label="Pos Zero",fontsize=16,color="green",shape="box"];2667[label="Pos Zero",fontsize=16,color="green",shape="box"];2668[label="Pos Zero",fontsize=16,color="green",shape="box"];263[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz14)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];263 -> 293[label="",style="solid", color="black", weight=3]; 264[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz14)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];264 -> 294[label="",style="solid", color="black", weight=3]; 265[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];265 -> 295[label="",style="solid", color="black", weight=3]; 2669[label="Pos Zero",fontsize=16,color="green",shape="box"];2670[label="Neg Zero",fontsize=16,color="green",shape="box"];2671[label="Pos Zero",fontsize=16,color="green",shape="box"];2672[label="Neg Zero",fontsize=16,color="green",shape="box"];266[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz16)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];266 -> 296[label="",style="solid", color="black", weight=3]; 267[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz16)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];267 -> 297[label="",style="solid", color="black", weight=3]; 2673[label="Pos Zero",fontsize=16,color="green",shape="box"];2674[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];2675[label="Pos Zero",fontsize=16,color="green",shape="box"];2676[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];270[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz18)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];270 -> 298[label="",style="solid", color="black", weight=3]; 271[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz18)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];271 -> 299[label="",style="solid", color="black", weight=3]; 2677[label="Pos Zero",fontsize=16,color="green",shape="box"];2678[label="Pos Zero",fontsize=16,color="green",shape="box"];2679[label="Pos Zero",fontsize=16,color="green",shape="box"];2680[label="Pos Zero",fontsize=16,color="green",shape="box"];272[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz20)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];272 -> 300[label="",style="solid", color="black", weight=3]; 273[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz20)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];273 -> 301[label="",style="solid", color="black", weight=3]; 274[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];274 -> 302[label="",style="solid", color="black", weight=3]; 2681[label="Pos Zero",fontsize=16,color="green",shape="box"];2682[label="Neg Zero",fontsize=16,color="green",shape="box"];2683[label="Pos Zero",fontsize=16,color="green",shape="box"];2684[label="Neg Zero",fontsize=16,color="green",shape="box"];275[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz22)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];275 -> 303[label="",style="solid", color="black", weight=3]; 276[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz22)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];276 -> 304[label="",style="solid", color="black", weight=3]; 277[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];277 -> 305[label="",style="solid", color="black", weight=3]; 278[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];278 -> 306[label="",style="solid", color="black", weight=3]; 279[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];279 -> 307[label="",style="solid", color="black", weight=3]; 280[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];280 -> 308[label="",style="solid", color="black", weight=3]; 281[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not False)) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not False)))",fontsize=16,color="black",shape="box"];281 -> 309[label="",style="solid", color="black", weight=3]; 282[label="primQuotInt (absReal1 (Pos Zero) True) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) True))",fontsize=16,color="black",shape="box"];282 -> 310[label="",style="solid", color="black", weight=3]; 283[label="primQuotInt (absReal1 (Neg (Succ vuz900)) False) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) False))",fontsize=16,color="black",shape="box"];283 -> 311[label="",style="solid", color="black", weight=3]; 284[label="primQuotInt (absReal1 (Neg Zero) True) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) True))",fontsize=16,color="black",shape="box"];284 -> 312[label="",style="solid", color="black", weight=3]; 285[label="absReal1 (Integer (Pos (Succ vuz900))) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) True)",fontsize=16,color="black",shape="box"];285 -> 313[label="",style="solid", color="black", weight=3]; 286[label="Integer (Pos Zero) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];286 -> 314[label="",style="solid", color="black", weight=3]; 287[label="absReal0 (Integer (Neg (Succ vuz900))) otherwise `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal0 (Integer (Neg (Succ vuz900))) otherwise)",fontsize=16,color="black",shape="box"];287 -> 315[label="",style="solid", color="black", weight=3]; 288[label="Integer (Neg Zero) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];288 -> 316[label="",style="solid", color="black", weight=3]; 4781[label="absReal0 (Pos (Succ vuz287)) otherwise",fontsize=16,color="black",shape="box"];4781 -> 4828[label="",style="solid", color="black", weight=3]; 3377[label="`negate` Pos Zero",fontsize=16,color="black",shape="box"];3377 -> 3403[label="",style="solid", color="black", weight=3]; 3378[label="vuz15800",fontsize=16,color="green",shape="box"];2686[label="primNegInt (Neg (Succ vuz3100))",fontsize=16,color="black",shape="triangle"];2686 -> 2902[label="",style="solid", color="black", weight=3]; 4827[label="Neg (Succ vuz291)",fontsize=16,color="green",shape="box"];3384[label="primNegInt (Neg Zero)",fontsize=16,color="black",shape="box"];3384 -> 3409[label="",style="solid", color="black", weight=3]; 2685[label="Pos Zero",fontsize=16,color="green",shape="box"];291[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];291 -> 318[label="",style="solid", color="black", weight=3]; 292[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];292 -> 319[label="",style="solid", color="black", weight=3]; 293[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];293 -> 320[label="",style="solid", color="black", weight=3]; 294[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];294 -> 321[label="",style="solid", color="black", weight=3]; 295[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];295 -> 322[label="",style="solid", color="black", weight=3]; 296[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];296 -> 323[label="",style="solid", color="black", weight=3]; 297[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];297 -> 324[label="",style="solid", color="black", weight=3]; 298[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];298 -> 325[label="",style="solid", color="black", weight=3]; 299[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];299 -> 326[label="",style="solid", color="black", weight=3]; 300[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];300 -> 327[label="",style="solid", color="black", weight=3]; 301[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];301 -> 328[label="",style="solid", color="black", weight=3]; 302[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];302 -> 329[label="",style="solid", color="black", weight=3]; 303[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];303 -> 330[label="",style="solid", color="black", weight=3]; 304[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];304 -> 331[label="",style="solid", color="black", weight=3]; 305[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];305 -> 332[label="",style="solid", color="black", weight=3]; 306[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd3 (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];306 -> 333[label="",style="solid", color="black", weight=3]; 307[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];307 -> 334[label="",style="solid", color="black", weight=3]; 308[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd3 (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];308 -> 335[label="",style="solid", color="black", weight=3]; 309[label="primQuotInt (absReal1 (Pos (Succ vuz900)) True) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) True))",fontsize=16,color="black",shape="box"];309 -> 336[label="",style="solid", color="black", weight=3]; 310 -> 5417[label="",style="dashed", color="red", weight=0]; 310[label="primQuotInt (Pos Zero) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (Pos Zero))",fontsize=16,color="magenta"];310 -> 5418[label="",style="dashed", color="magenta", weight=3]; 310 -> 5419[label="",style="dashed", color="magenta", weight=3]; 311[label="primQuotInt (absReal0 (Neg (Succ vuz900)) otherwise) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal0 (Neg (Succ vuz900)) otherwise))",fontsize=16,color="black",shape="box"];311 -> 338[label="",style="solid", color="black", weight=3]; 312 -> 6450[label="",style="dashed", color="red", weight=0]; 312[label="primQuotInt (Neg Zero) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (Neg Zero))",fontsize=16,color="magenta"];312 -> 6451[label="",style="dashed", color="magenta", weight=3]; 312 -> 6452[label="",style="dashed", color="magenta", weight=3]; 313[label="Integer (Pos (Succ vuz900)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];313 -> 340[label="",style="solid", color="black", weight=3]; 314[label="Integer (Pos Zero) `quot` gcd (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];314 -> 341[label="",style="solid", color="black", weight=3]; 315[label="absReal0 (Integer (Neg (Succ vuz900))) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal0 (Integer (Neg (Succ vuz900))) True)",fontsize=16,color="black",shape="box"];315 -> 342[label="",style="solid", color="black", weight=3]; 316[label="Integer (Neg Zero) `quot` gcd (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];316 -> 343[label="",style="solid", color="black", weight=3]; 4828[label="absReal0 (Pos (Succ vuz287)) True",fontsize=16,color="black",shape="box"];4828 -> 4832[label="",style="solid", color="black", weight=3]; 3403[label="primNegInt (Pos Zero)",fontsize=16,color="black",shape="box"];3403 -> 3454[label="",style="solid", color="black", weight=3]; 2902[label="Pos (Succ vuz3100)",fontsize=16,color="green",shape="box"];3409[label="Pos Zero",fontsize=16,color="green",shape="box"];318[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];318 -> 344[label="",style="solid", color="black", weight=3]; 319[label="primQuotInt (primMulInt (Pos vuz80) (Pos Zero)) (reduce2D (primMulInt (Pos vuz80) (Pos Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];319 -> 345[label="",style="solid", color="black", weight=3]; 320[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];320 -> 346[label="",style="solid", color="black", weight=3]; 321[label="primQuotInt (primMulInt (Pos vuz80) (Pos Zero)) (reduce2D (primMulInt (Pos vuz80) (Pos Zero)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];321 -> 347[label="",style="solid", color="black", weight=3]; 322[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];322 -> 348[label="",style="solid", color="black", weight=3]; 323[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];323 -> 349[label="",style="solid", color="black", weight=3]; 324[label="primQuotInt (primMulInt (Pos vuz80) (Pos Zero)) (reduce2D (primMulInt (Pos vuz80) (Pos Zero)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];324 -> 350[label="",style="solid", color="black", weight=3]; 325[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];325 -> 351[label="",style="solid", color="black", weight=3]; 326[label="primQuotInt (primMulInt (Neg vuz80) (Pos Zero)) (reduce2D (primMulInt (Neg vuz80) (Pos Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];326 -> 352[label="",style="solid", color="black", weight=3]; 327[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];327 -> 353[label="",style="solid", color="black", weight=3]; 328[label="primQuotInt (primMulInt (Neg vuz80) (Pos Zero)) (reduce2D (primMulInt (Neg vuz80) (Pos Zero)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];328 -> 354[label="",style="solid", color="black", weight=3]; 329[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];329 -> 355[label="",style="solid", color="black", weight=3]; 330[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];330 -> 356[label="",style="solid", color="black", weight=3]; 331[label="primQuotInt (primMulInt (Neg vuz80) (Pos Zero)) (reduce2D (primMulInt (Neg vuz80) (Pos Zero)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];331 -> 357[label="",style="solid", color="black", weight=3]; 332[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];332 -> 358[label="",style="solid", color="black", weight=3]; 333[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];333 -> 359[label="",style="solid", color="black", weight=3]; 334[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];334 -> 360[label="",style="solid", color="black", weight=3]; 335[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];335 -> 361[label="",style="solid", color="black", weight=3]; 336 -> 5417[label="",style="dashed", color="red", weight=0]; 336[label="primQuotInt (Pos (Succ vuz900)) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900)))",fontsize=16,color="magenta"];336 -> 5420[label="",style="dashed", color="magenta", weight=3]; 336 -> 5421[label="",style="dashed", color="magenta", weight=3]; 5418[label="Zero",fontsize=16,color="green",shape="box"];5419 -> 5607[label="",style="dashed", color="red", weight=0]; 5419[label="reduce2D (fromInt vuz8 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5419 -> 5608[label="",style="dashed", color="magenta", weight=3]; 5417[label="primQuotInt (Pos vuz301) vuz319",fontsize=16,color="burlywood",shape="triangle"];8363[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];5417 -> 8363[label="",style="solid", color="burlywood", weight=9]; 8363 -> 5609[label="",style="solid", color="burlywood", weight=3]; 8364[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];5417 -> 8364[label="",style="solid", color="burlywood", weight=9]; 8364 -> 5610[label="",style="solid", color="burlywood", weight=3]; 338[label="primQuotInt (absReal0 (Neg (Succ vuz900)) True) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal0 (Neg (Succ vuz900)) True))",fontsize=16,color="black",shape="box"];338 -> 364[label="",style="solid", color="black", weight=3]; 6451[label="Zero",fontsize=16,color="green",shape="box"];6452 -> 6857[label="",style="dashed", color="red", weight=0]; 6452[label="reduce2D (fromInt vuz8 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6452 -> 6858[label="",style="dashed", color="magenta", weight=3]; 6450[label="primQuotInt (Neg vuz381) vuz407",fontsize=16,color="burlywood",shape="triangle"];8365[label="vuz407/Pos vuz4070",fontsize=10,color="white",style="solid",shape="box"];6450 -> 8365[label="",style="solid", color="burlywood", weight=9]; 8365 -> 6859[label="",style="solid", color="burlywood", weight=3]; 8366[label="vuz407/Neg vuz4070",fontsize=10,color="white",style="solid",shape="box"];6450 -> 8366[label="",style="solid", color="burlywood", weight=9]; 8366 -> 6860[label="",style="solid", color="burlywood", weight=3]; 340[label="Integer (Pos (Succ vuz900)) `quot` gcd (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];340 -> 366[label="",style="solid", color="black", weight=3]; 341[label="Integer (Pos Zero) `quot` gcd3 (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];341 -> 367[label="",style="solid", color="black", weight=3]; 342[label="(`negate` Integer (Neg (Succ vuz900))) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (`negate` Integer (Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];342 -> 368[label="",style="solid", color="black", weight=3]; 343[label="Integer (Neg Zero) `quot` gcd3 (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];343 -> 369[label="",style="solid", color="black", weight=3]; 4832[label="`negate` Pos (Succ vuz287)",fontsize=16,color="black",shape="box"];4832 -> 5270[label="",style="solid", color="black", weight=3]; 3454[label="Neg Zero",fontsize=16,color="green",shape="box"];344[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];344 -> 370[label="",style="solid", color="black", weight=3]; 345 -> 5417[label="",style="dashed", color="red", weight=0]; 345[label="primQuotInt (Pos (primMulNat vuz80 Zero)) (reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];345 -> 5424[label="",style="dashed", color="magenta", weight=3]; 345 -> 5425[label="",style="dashed", color="magenta", weight=3]; 346[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];346 -> 372[label="",style="solid", color="black", weight=3]; 347 -> 5417[label="",style="dashed", color="red", weight=0]; 347[label="primQuotInt (Pos (primMulNat vuz80 Zero)) (reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos Zero)))",fontsize=16,color="magenta"];347 -> 5426[label="",style="dashed", color="magenta", weight=3]; 347 -> 5427[label="",style="dashed", color="magenta", weight=3]; 348[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];348 -> 374[label="",style="solid", color="black", weight=3]; 349[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];349 -> 375[label="",style="solid", color="black", weight=3]; 350 -> 5417[label="",style="dashed", color="red", weight=0]; 350[label="primQuotInt (Pos (primMulNat vuz80 Zero)) (reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Neg Zero)))",fontsize=16,color="magenta"];350 -> 5428[label="",style="dashed", color="magenta", weight=3]; 350 -> 5429[label="",style="dashed", color="magenta", weight=3]; 351[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];351 -> 377[label="",style="solid", color="black", weight=3]; 352 -> 6450[label="",style="dashed", color="red", weight=0]; 352[label="primQuotInt (Neg (primMulNat vuz80 Zero)) (reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];352 -> 6455[label="",style="dashed", color="magenta", weight=3]; 352 -> 6456[label="",style="dashed", color="magenta", weight=3]; 353[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];353 -> 379[label="",style="solid", color="black", weight=3]; 354 -> 6450[label="",style="dashed", color="red", weight=0]; 354[label="primQuotInt (Neg (primMulNat vuz80 Zero)) (reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos Zero)))",fontsize=16,color="magenta"];354 -> 6457[label="",style="dashed", color="magenta", weight=3]; 354 -> 6458[label="",style="dashed", color="magenta", weight=3]; 355[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];355 -> 381[label="",style="solid", color="black", weight=3]; 356[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];356 -> 382[label="",style="solid", color="black", weight=3]; 357 -> 6450[label="",style="dashed", color="red", weight=0]; 357[label="primQuotInt (Neg (primMulNat vuz80 Zero)) (reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Neg Zero)))",fontsize=16,color="magenta"];357 -> 6459[label="",style="dashed", color="magenta", weight=3]; 357 -> 6460[label="",style="dashed", color="magenta", weight=3]; 358[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];358 -> 384[label="",style="solid", color="black", weight=3]; 359[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];359 -> 385[label="",style="solid", color="black", weight=3]; 360[label="Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise `quot` reduce2D (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];360 -> 386[label="",style="solid", color="black", weight=3]; 361[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];361 -> 387[label="",style="solid", color="black", weight=3]; 5420[label="Succ vuz900",fontsize=16,color="green",shape="box"];5421 -> 5611[label="",style="dashed", color="red", weight=0]; 5421[label="reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5421 -> 5612[label="",style="dashed", color="magenta", weight=3]; 5608 -> 2609[label="",style="dashed", color="red", weight=0]; 5608[label="fromInt vuz8",fontsize=16,color="magenta"];5608 -> 5613[label="",style="dashed", color="magenta", weight=3]; 5607[label="reduce2D (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="triangle"];5607 -> 5614[label="",style="solid", color="black", weight=3]; 5609[label="primQuotInt (Pos vuz301) (Pos vuz3190)",fontsize=16,color="burlywood",shape="box"];8367[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];5609 -> 8367[label="",style="solid", color="burlywood", weight=9]; 8367 -> 5615[label="",style="solid", color="burlywood", weight=3]; 8368[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];5609 -> 8368[label="",style="solid", color="burlywood", weight=9]; 8368 -> 5616[label="",style="solid", color="burlywood", weight=3]; 5610[label="primQuotInt (Pos vuz301) (Neg vuz3190)",fontsize=16,color="burlywood",shape="box"];8369[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];5610 -> 8369[label="",style="solid", color="burlywood", weight=9]; 8369 -> 5617[label="",style="solid", color="burlywood", weight=3]; 8370[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];5610 -> 8370[label="",style="solid", color="burlywood", weight=9]; 8370 -> 5618[label="",style="solid", color="burlywood", weight=3]; 364[label="primQuotInt (`negate` Neg (Succ vuz900)) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (`negate` Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];364 -> 390[label="",style="solid", color="black", weight=3]; 6858 -> 2609[label="",style="dashed", color="red", weight=0]; 6858[label="fromInt vuz8",fontsize=16,color="magenta"];6858 -> 6861[label="",style="dashed", color="magenta", weight=3]; 6857[label="reduce2D (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="triangle"];6857 -> 6862[label="",style="solid", color="black", weight=3]; 6859[label="primQuotInt (Neg vuz381) (Pos vuz4070)",fontsize=16,color="burlywood",shape="box"];8371[label="vuz4070/Succ vuz40700",fontsize=10,color="white",style="solid",shape="box"];6859 -> 8371[label="",style="solid", color="burlywood", weight=9]; 8371 -> 6880[label="",style="solid", color="burlywood", weight=3]; 8372[label="vuz4070/Zero",fontsize=10,color="white",style="solid",shape="box"];6859 -> 8372[label="",style="solid", color="burlywood", weight=9]; 8372 -> 6881[label="",style="solid", color="burlywood", weight=3]; 6860[label="primQuotInt (Neg vuz381) (Neg vuz4070)",fontsize=16,color="burlywood",shape="box"];8373[label="vuz4070/Succ vuz40700",fontsize=10,color="white",style="solid",shape="box"];6860 -> 8373[label="",style="solid", color="burlywood", weight=9]; 8373 -> 6882[label="",style="solid", color="burlywood", weight=3]; 8374[label="vuz4070/Zero",fontsize=10,color="white",style="solid",shape="box"];6860 -> 8374[label="",style="solid", color="burlywood", weight=9]; 8374 -> 6883[label="",style="solid", color="burlywood", weight=3]; 366[label="Integer (Pos (Succ vuz900)) `quot` gcd3 (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];366 -> 392[label="",style="solid", color="black", weight=3]; 367[label="Integer (Pos Zero) `quot` gcd2 (fromInt vuz8 * signum (Integer (Pos Zero)) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];367 -> 393[label="",style="solid", color="black", weight=3]; 368[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];368 -> 394[label="",style="solid", color="black", weight=3]; 369[label="Integer (Neg Zero) `quot` gcd2 (fromInt vuz8 * signum (Integer (Neg Zero)) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];369 -> 395[label="",style="solid", color="black", weight=3]; 5270[label="primNegInt (Pos (Succ vuz287))",fontsize=16,color="black",shape="box"];5270 -> 5385[label="",style="solid", color="black", weight=3]; 370[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];370 -> 396[label="",style="solid", color="black", weight=3]; 5424 -> 4436[label="",style="dashed", color="red", weight=0]; 5424[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5424 -> 5619[label="",style="dashed", color="magenta", weight=3]; 5424 -> 5620[label="",style="dashed", color="magenta", weight=3]; 5425 -> 5621[label="",style="dashed", color="red", weight=0]; 5425[label="reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5425 -> 5622[label="",style="dashed", color="magenta", weight=3]; 5425 -> 5623[label="",style="dashed", color="magenta", weight=3]; 372[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];372 -> 398[label="",style="solid", color="black", weight=3]; 5426 -> 4436[label="",style="dashed", color="red", weight=0]; 5426[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5426 -> 5636[label="",style="dashed", color="magenta", weight=3]; 5426 -> 5637[label="",style="dashed", color="magenta", weight=3]; 5427 -> 5621[label="",style="dashed", color="red", weight=0]; 5427[label="reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos Zero))",fontsize=16,color="magenta"];5427 -> 5624[label="",style="dashed", color="magenta", weight=3]; 5427 -> 5625[label="",style="dashed", color="magenta", weight=3]; 374[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];374 -> 400[label="",style="solid", color="black", weight=3]; 375[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];375 -> 401[label="",style="solid", color="black", weight=3]; 5428 -> 4436[label="",style="dashed", color="red", weight=0]; 5428[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5428 -> 5638[label="",style="dashed", color="magenta", weight=3]; 5428 -> 5639[label="",style="dashed", color="magenta", weight=3]; 5429 -> 5621[label="",style="dashed", color="red", weight=0]; 5429[label="reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Neg Zero))",fontsize=16,color="magenta"];5429 -> 5626[label="",style="dashed", color="magenta", weight=3]; 5429 -> 5627[label="",style="dashed", color="magenta", weight=3]; 377[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];377 -> 403[label="",style="solid", color="black", weight=3]; 6455 -> 4436[label="",style="dashed", color="red", weight=0]; 6455[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6455 -> 6863[label="",style="dashed", color="magenta", weight=3]; 6455 -> 6864[label="",style="dashed", color="magenta", weight=3]; 6456 -> 6865[label="",style="dashed", color="red", weight=0]; 6456[label="reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];6456 -> 6866[label="",style="dashed", color="magenta", weight=3]; 6456 -> 6867[label="",style="dashed", color="magenta", weight=3]; 379[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];379 -> 405[label="",style="solid", color="black", weight=3]; 6457 -> 4436[label="",style="dashed", color="red", weight=0]; 6457[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6457 -> 6884[label="",style="dashed", color="magenta", weight=3]; 6457 -> 6885[label="",style="dashed", color="magenta", weight=3]; 6458 -> 6865[label="",style="dashed", color="red", weight=0]; 6458[label="reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos Zero))",fontsize=16,color="magenta"];6458 -> 6868[label="",style="dashed", color="magenta", weight=3]; 6458 -> 6869[label="",style="dashed", color="magenta", weight=3]; 381[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];381 -> 407[label="",style="solid", color="black", weight=3]; 382[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];382 -> 408[label="",style="solid", color="black", weight=3]; 6459 -> 4436[label="",style="dashed", color="red", weight=0]; 6459[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6459 -> 6886[label="",style="dashed", color="magenta", weight=3]; 6459 -> 6887[label="",style="dashed", color="magenta", weight=3]; 6460 -> 6865[label="",style="dashed", color="red", weight=0]; 6460[label="reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Neg Zero))",fontsize=16,color="magenta"];6460 -> 6870[label="",style="dashed", color="magenta", weight=3]; 6460 -> 6871[label="",style="dashed", color="magenta", weight=3]; 384[label="Integer vuz8 * fromInt (Pos (Succ Zero)) `quot` reduce2D (Integer vuz8 * fromInt (Pos (Succ Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];384 -> 410[label="",style="solid", color="black", weight=3]; 385[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];8375[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];385 -> 8375[label="",style="solid", color="burlywood", weight=9]; 8375 -> 411[label="",style="solid", color="burlywood", weight=3]; 8376[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];385 -> 8376[label="",style="solid", color="burlywood", weight=9]; 8376 -> 412[label="",style="solid", color="burlywood", weight=3]; 386[label="Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True `quot` reduce2D (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];386 -> 413[label="",style="solid", color="black", weight=3]; 387[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="box"];8377[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];387 -> 8377[label="",style="solid", color="burlywood", weight=9]; 8377 -> 414[label="",style="solid", color="burlywood", weight=3]; 8378[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];387 -> 8378[label="",style="solid", color="burlywood", weight=9]; 8378 -> 415[label="",style="solid", color="burlywood", weight=3]; 5612 -> 2609[label="",style="dashed", color="red", weight=0]; 5612[label="fromInt vuz8",fontsize=16,color="magenta"];5612 -> 5640[label="",style="dashed", color="magenta", weight=3]; 5611[label="reduce2D (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5611 -> 5641[label="",style="solid", color="black", weight=3]; 5613[label="vuz8",fontsize=16,color="green",shape="box"];5614[label="gcd (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5614 -> 5642[label="",style="solid", color="black", weight=3]; 5615[label="primQuotInt (Pos vuz301) (Pos (Succ vuz31900))",fontsize=16,color="black",shape="box"];5615 -> 5643[label="",style="solid", color="black", weight=3]; 5616[label="primQuotInt (Pos vuz301) (Pos Zero)",fontsize=16,color="black",shape="box"];5616 -> 5644[label="",style="solid", color="black", weight=3]; 5617[label="primQuotInt (Pos vuz301) (Neg (Succ vuz31900))",fontsize=16,color="black",shape="box"];5617 -> 5645[label="",style="solid", color="black", weight=3]; 5618[label="primQuotInt (Pos vuz301) (Neg Zero)",fontsize=16,color="black",shape="box"];5618 -> 5646[label="",style="solid", color="black", weight=3]; 390[label="primQuotInt (primNegInt (Neg (Succ vuz900))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];390 -> 418[label="",style="solid", color="black", weight=3]; 6861[label="vuz8",fontsize=16,color="green",shape="box"];6862[label="gcd (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6862 -> 6888[label="",style="solid", color="black", weight=3]; 6880[label="primQuotInt (Neg vuz381) (Pos (Succ vuz40700))",fontsize=16,color="black",shape="box"];6880 -> 6921[label="",style="solid", color="black", weight=3]; 6881[label="primQuotInt (Neg vuz381) (Pos Zero)",fontsize=16,color="black",shape="box"];6881 -> 6922[label="",style="solid", color="black", weight=3]; 6882[label="primQuotInt (Neg vuz381) (Neg (Succ vuz40700))",fontsize=16,color="black",shape="box"];6882 -> 6923[label="",style="solid", color="black", weight=3]; 6883[label="primQuotInt (Neg vuz381) (Neg Zero)",fontsize=16,color="black",shape="box"];6883 -> 6924[label="",style="solid", color="black", weight=3]; 392[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (fromInt vuz8 * signum (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];392 -> 420[label="",style="solid", color="black", weight=3]; 393[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signum (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];393 -> 421[label="",style="solid", color="black", weight=3]; 394[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];394 -> 422[label="",style="solid", color="black", weight=3]; 395[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signum (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];395 -> 423[label="",style="solid", color="black", weight=3]; 5385[label="Neg (Succ vuz287)",fontsize=16,color="green",shape="box"];396[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];396 -> 424[label="",style="solid", color="black", weight=3]; 5619[label="Zero",fontsize=16,color="green",shape="box"];5620[label="vuz80",fontsize=16,color="green",shape="box"];4436[label="primMulNat vuz2360 vuz2750",fontsize=16,color="burlywood",shape="triangle"];8379[label="vuz2360/Succ vuz23600",fontsize=10,color="white",style="solid",shape="box"];4436 -> 8379[label="",style="solid", color="burlywood", weight=9]; 8379 -> 4490[label="",style="solid", color="burlywood", weight=3]; 8380[label="vuz2360/Zero",fontsize=10,color="white",style="solid",shape="box"];4436 -> 8380[label="",style="solid", color="burlywood", weight=9]; 8380 -> 4491[label="",style="solid", color="burlywood", weight=3]; 5622 -> 4436[label="",style="dashed", color="red", weight=0]; 5622[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5622 -> 5647[label="",style="dashed", color="magenta", weight=3]; 5622 -> 5648[label="",style="dashed", color="magenta", weight=3]; 5623 -> 2348[label="",style="dashed", color="red", weight=0]; 5623[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];5623 -> 5649[label="",style="dashed", color="magenta", weight=3]; 5621[label="reduce2D (Pos vuz325) vuz324",fontsize=16,color="black",shape="triangle"];5621 -> 5650[label="",style="solid", color="black", weight=3]; 398[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];398 -> 426[label="",style="solid", color="black", weight=3]; 5636[label="Zero",fontsize=16,color="green",shape="box"];5637[label="vuz80",fontsize=16,color="green",shape="box"];5624 -> 4436[label="",style="dashed", color="red", weight=0]; 5624[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5624 -> 5651[label="",style="dashed", color="magenta", weight=3]; 5624 -> 5652[label="",style="dashed", color="magenta", weight=3]; 5625 -> 2348[label="",style="dashed", color="red", weight=0]; 5625[label="abs (Pos Zero)",fontsize=16,color="magenta"];5625 -> 5653[label="",style="dashed", color="magenta", weight=3]; 400[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];400 -> 428[label="",style="solid", color="black", weight=3]; 401[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];401 -> 429[label="",style="solid", color="black", weight=3]; 5638[label="Zero",fontsize=16,color="green",shape="box"];5639[label="vuz80",fontsize=16,color="green",shape="box"];5626 -> 4436[label="",style="dashed", color="red", weight=0]; 5626[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5626 -> 5654[label="",style="dashed", color="magenta", weight=3]; 5626 -> 5655[label="",style="dashed", color="magenta", weight=3]; 5627 -> 2348[label="",style="dashed", color="red", weight=0]; 5627[label="abs (Neg Zero)",fontsize=16,color="magenta"];5627 -> 5656[label="",style="dashed", color="magenta", weight=3]; 403[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];403 -> 431[label="",style="solid", color="black", weight=3]; 6863[label="Zero",fontsize=16,color="green",shape="box"];6864[label="vuz80",fontsize=16,color="green",shape="box"];6866 -> 4436[label="",style="dashed", color="red", weight=0]; 6866[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6866 -> 6889[label="",style="dashed", color="magenta", weight=3]; 6866 -> 6890[label="",style="dashed", color="magenta", weight=3]; 6867 -> 2348[label="",style="dashed", color="red", weight=0]; 6867[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];6867 -> 6891[label="",style="dashed", color="magenta", weight=3]; 6865[label="reduce2D (Neg vuz412) vuz411",fontsize=16,color="black",shape="triangle"];6865 -> 6892[label="",style="solid", color="black", weight=3]; 405[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];405 -> 433[label="",style="solid", color="black", weight=3]; 6884[label="Zero",fontsize=16,color="green",shape="box"];6885[label="vuz80",fontsize=16,color="green",shape="box"];6868 -> 4436[label="",style="dashed", color="red", weight=0]; 6868[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6868 -> 6893[label="",style="dashed", color="magenta", weight=3]; 6868 -> 6894[label="",style="dashed", color="magenta", weight=3]; 6869 -> 2348[label="",style="dashed", color="red", weight=0]; 6869[label="abs (Pos Zero)",fontsize=16,color="magenta"];6869 -> 6895[label="",style="dashed", color="magenta", weight=3]; 407[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];407 -> 435[label="",style="solid", color="black", weight=3]; 408[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];408 -> 436[label="",style="solid", color="black", weight=3]; 6886[label="Zero",fontsize=16,color="green",shape="box"];6887[label="vuz80",fontsize=16,color="green",shape="box"];6870 -> 4436[label="",style="dashed", color="red", weight=0]; 6870[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6870 -> 6896[label="",style="dashed", color="magenta", weight=3]; 6870 -> 6897[label="",style="dashed", color="magenta", weight=3]; 6871 -> 2348[label="",style="dashed", color="red", weight=0]; 6871[label="abs (Neg Zero)",fontsize=16,color="magenta"];6871 -> 6898[label="",style="dashed", color="magenta", weight=3]; 410[label="Integer vuz8 * Integer (Pos (Succ Zero)) `quot` reduce2D (Integer vuz8 * Integer (Pos (Succ Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];410 -> 438[label="",style="solid", color="black", weight=3]; 411[label="Integer (primMulInt (Pos vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];411 -> 439[label="",style="solid", color="black", weight=3]; 412[label="Integer (primMulInt (Neg vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];412 -> 440[label="",style="solid", color="black", weight=3]; 413[label="Integer vuz8 * fromInt (Neg (Succ Zero)) `quot` reduce2D (Integer vuz8 * fromInt (Neg (Succ Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];413 -> 441[label="",style="solid", color="black", weight=3]; 414[label="Integer (primMulInt (Pos vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];414 -> 442[label="",style="solid", color="black", weight=3]; 415[label="Integer (primMulInt (Neg vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];415 -> 443[label="",style="solid", color="black", weight=3]; 5640[label="vuz8",fontsize=16,color="green",shape="box"];5641[label="gcd (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5641 -> 5659[label="",style="solid", color="black", weight=3]; 5642[label="gcd3 (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5642 -> 5660[label="",style="solid", color="black", weight=3]; 5643[label="Pos (primDivNatS vuz301 (Succ vuz31900))",fontsize=16,color="green",shape="box"];5643 -> 5661[label="",style="dashed", color="green", weight=3]; 5644 -> 3082[label="",style="dashed", color="red", weight=0]; 5644[label="error []",fontsize=16,color="magenta"];5645[label="Neg (primDivNatS vuz301 (Succ vuz31900))",fontsize=16,color="green",shape="box"];5645 -> 5662[label="",style="dashed", color="green", weight=3]; 5646 -> 3082[label="",style="dashed", color="red", weight=0]; 5646[label="error []",fontsize=16,color="magenta"];418 -> 5417[label="",style="dashed", color="red", weight=0]; 418[label="primQuotInt (Pos (Succ vuz900)) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900)))",fontsize=16,color="magenta"];418 -> 5450[label="",style="dashed", color="magenta", weight=3]; 418 -> 5451[label="",style="dashed", color="magenta", weight=3]; 6888[label="gcd3 (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6888 -> 6925[label="",style="solid", color="black", weight=3]; 6921[label="Neg (primDivNatS vuz381 (Succ vuz40700))",fontsize=16,color="green",shape="box"];6921 -> 6930[label="",style="dashed", color="green", weight=3]; 6922 -> 3082[label="",style="dashed", color="red", weight=0]; 6922[label="error []",fontsize=16,color="magenta"];6923[label="Pos (primDivNatS vuz381 (Succ vuz40700))",fontsize=16,color="green",shape="box"];6923 -> 6931[label="",style="dashed", color="green", weight=3]; 6924 -> 3082[label="",style="dashed", color="red", weight=0]; 6924[label="error []",fontsize=16,color="magenta"];420[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signum (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];420 -> 448[label="",style="solid", color="black", weight=3]; 421[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];421 -> 449[label="",style="solid", color="black", weight=3]; 422[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd3 (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];422 -> 450[label="",style="solid", color="black", weight=3]; 423[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];423 -> 451[label="",style="solid", color="black", weight=3]; 424[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];424 -> 452[label="",style="solid", color="black", weight=3]; 4490[label="primMulNat (Succ vuz23600) vuz2750",fontsize=16,color="burlywood",shape="box"];8381[label="vuz2750/Succ vuz27500",fontsize=10,color="white",style="solid",shape="box"];4490 -> 8381[label="",style="solid", color="burlywood", weight=9]; 8381 -> 4511[label="",style="solid", color="burlywood", weight=3]; 8382[label="vuz2750/Zero",fontsize=10,color="white",style="solid",shape="box"];4490 -> 8382[label="",style="solid", color="burlywood", weight=9]; 8382 -> 4512[label="",style="solid", color="burlywood", weight=3]; 4491[label="primMulNat Zero vuz2750",fontsize=16,color="burlywood",shape="box"];8383[label="vuz2750/Succ vuz27500",fontsize=10,color="white",style="solid",shape="box"];4491 -> 8383[label="",style="solid", color="burlywood", weight=9]; 8383 -> 4513[label="",style="solid", color="burlywood", weight=3]; 8384[label="vuz2750/Zero",fontsize=10,color="white",style="solid",shape="box"];4491 -> 8384[label="",style="solid", color="burlywood", weight=9]; 8384 -> 4514[label="",style="solid", color="burlywood", weight=3]; 5647[label="Zero",fontsize=16,color="green",shape="box"];5648[label="vuz80",fontsize=16,color="green",shape="box"];5649[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];5650[label="gcd (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5650 -> 5663[label="",style="solid", color="black", weight=3]; 426[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) False)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];426 -> 454[label="",style="solid", color="black", weight=3]; 5651[label="Zero",fontsize=16,color="green",shape="box"];5652[label="vuz80",fontsize=16,color="green",shape="box"];5653[label="Pos Zero",fontsize=16,color="green",shape="box"];428[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];428 -> 456[label="",style="solid", color="black", weight=3]; 429[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) False)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];429 -> 457[label="",style="solid", color="black", weight=3]; 5654[label="Zero",fontsize=16,color="green",shape="box"];5655[label="vuz80",fontsize=16,color="green",shape="box"];5656[label="Neg Zero",fontsize=16,color="green",shape="box"];431[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];431 -> 459[label="",style="solid", color="black", weight=3]; 6889[label="Zero",fontsize=16,color="green",shape="box"];6890[label="vuz80",fontsize=16,color="green",shape="box"];6891[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6892[label="gcd (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6892 -> 6926[label="",style="solid", color="black", weight=3]; 433[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) False)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];433 -> 461[label="",style="solid", color="black", weight=3]; 6893[label="Zero",fontsize=16,color="green",shape="box"];6894[label="vuz80",fontsize=16,color="green",shape="box"];6895[label="Pos Zero",fontsize=16,color="green",shape="box"];435[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];435 -> 463[label="",style="solid", color="black", weight=3]; 436[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) False)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];436 -> 464[label="",style="solid", color="black", weight=3]; 6896[label="Zero",fontsize=16,color="green",shape="box"];6897[label="vuz80",fontsize=16,color="green",shape="box"];6898[label="Neg Zero",fontsize=16,color="green",shape="box"];438[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` reduce2D (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];438 -> 466[label="",style="solid", color="black", weight=3]; 439[label="Integer (Pos (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];8385[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];439 -> 8385[label="",style="solid", color="burlywood", weight=9]; 8385 -> 467[label="",style="solid", color="burlywood", weight=3]; 8386[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];439 -> 8386[label="",style="solid", color="burlywood", weight=9]; 8386 -> 468[label="",style="solid", color="burlywood", weight=3]; 440[label="Integer (Neg (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];8387[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];440 -> 8387[label="",style="solid", color="burlywood", weight=9]; 8387 -> 469[label="",style="solid", color="burlywood", weight=3]; 8388[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];440 -> 8388[label="",style="solid", color="burlywood", weight=9]; 8388 -> 470[label="",style="solid", color="burlywood", weight=3]; 441[label="Integer vuz8 * Integer (Neg (Succ Zero)) `quot` reduce2D (Integer vuz8 * Integer (Neg (Succ Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];441 -> 471[label="",style="solid", color="black", weight=3]; 442[label="Integer (Pos (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="box"];8389[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];442 -> 8389[label="",style="solid", color="burlywood", weight=9]; 8389 -> 472[label="",style="solid", color="burlywood", weight=3]; 8390[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];442 -> 8390[label="",style="solid", color="burlywood", weight=9]; 8390 -> 473[label="",style="solid", color="burlywood", weight=3]; 443[label="Integer (Neg (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="box"];8391[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];443 -> 8391[label="",style="solid", color="burlywood", weight=9]; 8391 -> 474[label="",style="solid", color="burlywood", weight=3]; 8392[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];443 -> 8392[label="",style="solid", color="burlywood", weight=9]; 8392 -> 475[label="",style="solid", color="burlywood", weight=3]; 5659[label="gcd3 (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5659 -> 5705[label="",style="solid", color="black", weight=3]; 5660 -> 5706[label="",style="dashed", color="red", weight=0]; 5660[label="gcd2 (vuz322 * signum (Pos Zero) == fromInt (Pos Zero)) (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5660 -> 5707[label="",style="dashed", color="magenta", weight=3]; 5661[label="primDivNatS vuz301 (Succ vuz31900)",fontsize=16,color="burlywood",shape="triangle"];8393[label="vuz301/Succ vuz3010",fontsize=10,color="white",style="solid",shape="box"];5661 -> 8393[label="",style="solid", color="burlywood", weight=9]; 8393 -> 5708[label="",style="solid", color="burlywood", weight=3]; 8394[label="vuz301/Zero",fontsize=10,color="white",style="solid",shape="box"];5661 -> 8394[label="",style="solid", color="burlywood", weight=9]; 8394 -> 5709[label="",style="solid", color="burlywood", weight=3]; 3082[label="error []",fontsize=16,color="black",shape="triangle"];3082 -> 3126[label="",style="solid", color="black", weight=3]; 5662 -> 5661[label="",style="dashed", color="red", weight=0]; 5662[label="primDivNatS vuz301 (Succ vuz31900)",fontsize=16,color="magenta"];5662 -> 5710[label="",style="dashed", color="magenta", weight=3]; 5450[label="Succ vuz900",fontsize=16,color="green",shape="box"];5451 -> 5657[label="",style="dashed", color="red", weight=0]; 5451[label="reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5451 -> 5658[label="",style="dashed", color="magenta", weight=3]; 6925 -> 6932[label="",style="dashed", color="red", weight=0]; 6925[label="gcd2 (vuz410 * signum (Neg Zero) == fromInt (Pos Zero)) (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6925 -> 6933[label="",style="dashed", color="magenta", weight=3]; 6930 -> 5661[label="",style="dashed", color="red", weight=0]; 6930[label="primDivNatS vuz381 (Succ vuz40700)",fontsize=16,color="magenta"];6930 -> 6934[label="",style="dashed", color="magenta", weight=3]; 6930 -> 6935[label="",style="dashed", color="magenta", weight=3]; 6931 -> 5661[label="",style="dashed", color="red", weight=0]; 6931[label="primDivNatS vuz381 (Succ vuz40700)",fontsize=16,color="magenta"];6931 -> 6936[label="",style="dashed", color="magenta", weight=3]; 6931 -> 6937[label="",style="dashed", color="magenta", weight=3]; 448[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];448 -> 480[label="",style="solid", color="black", weight=3]; 449[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];449 -> 481[label="",style="solid", color="black", weight=3]; 450[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (fromInt vuz8 * signum (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];450 -> 482[label="",style="solid", color="black", weight=3]; 451[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];451 -> 483[label="",style="solid", color="black", weight=3]; 452[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];452 -> 484[label="",style="solid", color="black", weight=3]; 4511[label="primMulNat (Succ vuz23600) (Succ vuz27500)",fontsize=16,color="black",shape="box"];4511 -> 4518[label="",style="solid", color="black", weight=3]; 4512[label="primMulNat (Succ vuz23600) Zero",fontsize=16,color="black",shape="box"];4512 -> 4519[label="",style="solid", color="black", weight=3]; 4513[label="primMulNat Zero (Succ vuz27500)",fontsize=16,color="black",shape="box"];4513 -> 4520[label="",style="solid", color="black", weight=3]; 4514[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];4514 -> 4521[label="",style="solid", color="black", weight=3]; 5663[label="gcd3 (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5663 -> 5711[label="",style="solid", color="black", weight=3]; 454[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) otherwise)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) otherwise)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];454 -> 487[label="",style="solid", color="black", weight=3]; 456[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];456 -> 490[label="",style="solid", color="black", weight=3]; 457[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) otherwise)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) otherwise)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];457 -> 491[label="",style="solid", color="black", weight=3]; 459[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];459 -> 494[label="",style="solid", color="black", weight=3]; 6926[label="gcd3 (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6926 -> 6938[label="",style="solid", color="black", weight=3]; 461[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) otherwise)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) otherwise)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];461 -> 497[label="",style="solid", color="black", weight=3]; 463[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];463 -> 500[label="",style="solid", color="black", weight=3]; 464[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) otherwise)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) otherwise)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];464 -> 501[label="",style="solid", color="black", weight=3]; 466[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];466 -> 504[label="",style="solid", color="black", weight=3]; 467[label="Integer (Pos (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];467 -> 505[label="",style="solid", color="black", weight=3]; 468[label="Integer (Pos (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];468 -> 506[label="",style="solid", color="black", weight=3]; 469[label="Integer (Neg (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];469 -> 507[label="",style="solid", color="black", weight=3]; 470[label="Integer (Neg (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];470 -> 508[label="",style="solid", color="black", weight=3]; 471[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` reduce2D (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];471 -> 509[label="",style="solid", color="black", weight=3]; 472[label="Integer (Pos (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];472 -> 510[label="",style="solid", color="black", weight=3]; 473[label="Integer (Pos (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];473 -> 511[label="",style="solid", color="black", weight=3]; 474[label="Integer (Neg (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];474 -> 512[label="",style="solid", color="black", weight=3]; 475[label="Integer (Neg (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];475 -> 513[label="",style="solid", color="black", weight=3]; 5705 -> 5712[label="",style="dashed", color="red", weight=0]; 5705[label="gcd2 (vuz323 * signum (Pos (Succ vuz900)) == fromInt (Pos Zero)) (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5705 -> 5713[label="",style="dashed", color="magenta", weight=3]; 5707 -> 2582[label="",style="dashed", color="red", weight=0]; 5707[label="vuz322 * signum (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5707 -> 5714[label="",style="dashed", color="magenta", weight=3]; 5706[label="gcd2 vuz333 (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];8395[label="vuz333/False",fontsize=10,color="white",style="solid",shape="box"];5706 -> 8395[label="",style="solid", color="burlywood", weight=9]; 8395 -> 5715[label="",style="solid", color="burlywood", weight=3]; 8396[label="vuz333/True",fontsize=10,color="white",style="solid",shape="box"];5706 -> 8396[label="",style="solid", color="burlywood", weight=9]; 8396 -> 5716[label="",style="solid", color="burlywood", weight=3]; 5708[label="primDivNatS (Succ vuz3010) (Succ vuz31900)",fontsize=16,color="black",shape="box"];5708 -> 5717[label="",style="solid", color="black", weight=3]; 5709[label="primDivNatS Zero (Succ vuz31900)",fontsize=16,color="black",shape="box"];5709 -> 5718[label="",style="solid", color="black", weight=3]; 3126[label="error []",fontsize=16,color="red",shape="box"];5710[label="vuz31900",fontsize=16,color="green",shape="box"];5658 -> 2609[label="",style="dashed", color="red", weight=0]; 5658[label="fromInt vuz8",fontsize=16,color="magenta"];5658 -> 5664[label="",style="dashed", color="magenta", weight=3]; 5657[label="reduce2D (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5657 -> 5665[label="",style="solid", color="black", weight=3]; 6933 -> 2582[label="",style="dashed", color="red", weight=0]; 6933[label="vuz410 * signum (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6933 -> 6939[label="",style="dashed", color="magenta", weight=3]; 6932[label="gcd2 vuz415 (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="burlywood",shape="triangle"];8397[label="vuz415/False",fontsize=10,color="white",style="solid",shape="box"];6932 -> 8397[label="",style="solid", color="burlywood", weight=9]; 8397 -> 6940[label="",style="solid", color="burlywood", weight=3]; 8398[label="vuz415/True",fontsize=10,color="white",style="solid",shape="box"];6932 -> 8398[label="",style="solid", color="burlywood", weight=9]; 8398 -> 6941[label="",style="solid", color="burlywood", weight=3]; 6934[label="vuz40700",fontsize=16,color="green",shape="box"];6935[label="vuz381",fontsize=16,color="green",shape="box"];6936[label="vuz40700",fontsize=16,color="green",shape="box"];6937[label="vuz381",fontsize=16,color="green",shape="box"];480[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];480 -> 520[label="",style="solid", color="black", weight=3]; 481 -> 521[label="",style="dashed", color="red", weight=0]; 481[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) (Integer (Pos Zero) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) (Integer (Pos Zero) == fromInt (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="magenta"];481 -> 522[label="",style="dashed", color="magenta", weight=3]; 481 -> 523[label="",style="dashed", color="magenta", weight=3]; 482[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signum (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];482 -> 524[label="",style="solid", color="black", weight=3]; 483 -> 525[label="",style="dashed", color="red", weight=0]; 483[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) (Integer (Neg Zero) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) (Integer (Neg Zero) == fromInt (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="magenta"];483 -> 526[label="",style="dashed", color="magenta", weight=3]; 483 -> 527[label="",style="dashed", color="magenta", weight=3]; 484[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos (Succ Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];484 -> 528[label="",style="solid", color="black", weight=3]; 4518 -> 4551[label="",style="dashed", color="red", weight=0]; 4518[label="primPlusNat (primMulNat vuz23600 (Succ vuz27500)) (Succ vuz27500)",fontsize=16,color="magenta"];4518 -> 4576[label="",style="dashed", color="magenta", weight=3]; 4519[label="Zero",fontsize=16,color="green",shape="box"];4520[label="Zero",fontsize=16,color="green",shape="box"];4521[label="Zero",fontsize=16,color="green",shape="box"];5711 -> 5719[label="",style="dashed", color="red", weight=0]; 5711[label="gcd2 (Pos vuz325 == fromInt (Pos Zero)) (Pos vuz325) vuz324",fontsize=16,color="magenta"];5711 -> 5720[label="",style="dashed", color="magenta", weight=3]; 487[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) True)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];487 -> 531[label="",style="solid", color="black", weight=3]; 490[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];490 -> 534[label="",style="solid", color="black", weight=3]; 491[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) True)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];491 -> 535[label="",style="solid", color="black", weight=3]; 494[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos (Succ Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];494 -> 538[label="",style="solid", color="black", weight=3]; 6938 -> 6954[label="",style="dashed", color="red", weight=0]; 6938[label="gcd2 (Neg vuz412 == fromInt (Pos Zero)) (Neg vuz412) vuz411",fontsize=16,color="magenta"];6938 -> 6955[label="",style="dashed", color="magenta", weight=3]; 497[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) True)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];497 -> 541[label="",style="solid", color="black", weight=3]; 500[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];500 -> 544[label="",style="solid", color="black", weight=3]; 501[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) True)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];501 -> 545[label="",style="solid", color="black", weight=3]; 504[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd3 (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];504 -> 548[label="",style="solid", color="black", weight=3]; 505 -> 549[label="",style="dashed", color="red", weight=0]; 505[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];505 -> 550[label="",style="dashed", color="magenta", weight=3]; 506 -> 549[label="",style="dashed", color="red", weight=0]; 506[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];506 -> 551[label="",style="dashed", color="magenta", weight=3]; 507 -> 552[label="",style="dashed", color="red", weight=0]; 507[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];507 -> 553[label="",style="dashed", color="magenta", weight=3]; 508 -> 552[label="",style="dashed", color="red", weight=0]; 508[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];508 -> 554[label="",style="dashed", color="magenta", weight=3]; 509[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];509 -> 555[label="",style="solid", color="black", weight=3]; 510 -> 556[label="",style="dashed", color="red", weight=0]; 510[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];510 -> 557[label="",style="dashed", color="magenta", weight=3]; 511 -> 556[label="",style="dashed", color="red", weight=0]; 511[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];511 -> 558[label="",style="dashed", color="magenta", weight=3]; 512 -> 559[label="",style="dashed", color="red", weight=0]; 512[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];512 -> 560[label="",style="dashed", color="magenta", weight=3]; 513 -> 559[label="",style="dashed", color="red", weight=0]; 513[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];513 -> 561[label="",style="dashed", color="magenta", weight=3]; 5713 -> 2582[label="",style="dashed", color="red", weight=0]; 5713[label="vuz323 * signum (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5713 -> 5721[label="",style="dashed", color="magenta", weight=3]; 5712[label="gcd2 vuz335 (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="burlywood",shape="triangle"];8399[label="vuz335/False",fontsize=10,color="white",style="solid",shape="box"];5712 -> 8399[label="",style="solid", color="burlywood", weight=9]; 8399 -> 5722[label="",style="solid", color="burlywood", weight=3]; 8400[label="vuz335/True",fontsize=10,color="white",style="solid",shape="box"];5712 -> 8400[label="",style="solid", color="burlywood", weight=9]; 8400 -> 5723[label="",style="solid", color="burlywood", weight=3]; 5714[label="vuz322 * signum (Pos Zero)",fontsize=16,color="black",shape="triangle"];5714 -> 5724[label="",style="solid", color="black", weight=3]; 5715[label="gcd2 False (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5715 -> 5725[label="",style="solid", color="black", weight=3]; 5716[label="gcd2 True (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5716 -> 5726[label="",style="solid", color="black", weight=3]; 5717[label="primDivNatS0 vuz3010 vuz31900 (primGEqNatS vuz3010 vuz31900)",fontsize=16,color="burlywood",shape="box"];8401[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];5717 -> 8401[label="",style="solid", color="burlywood", weight=9]; 8401 -> 5727[label="",style="solid", color="burlywood", weight=3]; 8402[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];5717 -> 8402[label="",style="solid", color="burlywood", weight=9]; 8402 -> 5728[label="",style="solid", color="burlywood", weight=3]; 5718[label="Zero",fontsize=16,color="green",shape="box"];5664[label="vuz8",fontsize=16,color="green",shape="box"];5665[label="gcd (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5665 -> 5729[label="",style="solid", color="black", weight=3]; 6939[label="vuz410 * signum (Neg Zero)",fontsize=16,color="black",shape="triangle"];6939 -> 6956[label="",style="solid", color="black", weight=3]; 6940[label="gcd2 False (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6940 -> 6957[label="",style="solid", color="black", weight=3]; 6941[label="gcd2 True (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6941 -> 6958[label="",style="solid", color="black", weight=3]; 520 -> 569[label="",style="dashed", color="red", weight=0]; 520[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];520 -> 570[label="",style="dashed", color="magenta", weight=3]; 520 -> 571[label="",style="dashed", color="magenta", weight=3]; 522 -> 131[label="",style="dashed", color="red", weight=0]; 522[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];523 -> 131[label="",style="dashed", color="red", weight=0]; 523[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];521[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz24 == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz23) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];8403[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];521 -> 8403[label="",style="solid", color="burlywood", weight=9]; 8403 -> 572[label="",style="solid", color="burlywood", weight=3]; 8404[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];521 -> 8404[label="",style="solid", color="burlywood", weight=9]; 8404 -> 573[label="",style="solid", color="burlywood", weight=3]; 524[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];524 -> 574[label="",style="solid", color="black", weight=3]; 526 -> 133[label="",style="dashed", color="red", weight=0]; 526[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];527 -> 133[label="",style="dashed", color="red", weight=0]; 527[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];525[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz26 == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz25) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];8405[label="vuz26/False",fontsize=10,color="white",style="solid",shape="box"];525 -> 8405[label="",style="solid", color="burlywood", weight=9]; 8405 -> 575[label="",style="solid", color="burlywood", weight=3]; 8406[label="vuz26/True",fontsize=10,color="white",style="solid",shape="box"];525 -> 8406[label="",style="solid", color="burlywood", weight=9]; 8406 -> 576[label="",style="solid", color="burlywood", weight=3]; 528[label="primQuotInt (primMulInt (Pos vuz80) (Pos (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Pos (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];528 -> 577[label="",style="solid", color="black", weight=3]; 4576 -> 4436[label="",style="dashed", color="red", weight=0]; 4576[label="primMulNat vuz23600 (Succ vuz27500)",fontsize=16,color="magenta"];4576 -> 4658[label="",style="dashed", color="magenta", weight=3]; 4576 -> 4659[label="",style="dashed", color="magenta", weight=3]; 4551[label="primPlusNat vuz285 (Succ vuz27500)",fontsize=16,color="burlywood",shape="triangle"];8407[label="vuz285/Succ vuz2850",fontsize=10,color="white",style="solid",shape="box"];4551 -> 8407[label="",style="solid", color="burlywood", weight=9]; 8407 -> 4579[label="",style="solid", color="burlywood", weight=3]; 8408[label="vuz285/Zero",fontsize=10,color="white",style="solid",shape="box"];4551 -> 8408[label="",style="solid", color="burlywood", weight=9]; 8408 -> 4580[label="",style="solid", color="burlywood", weight=3]; 5720 -> 2582[label="",style="dashed", color="red", weight=0]; 5720[label="Pos vuz325 == fromInt (Pos Zero)",fontsize=16,color="magenta"];5720 -> 5730[label="",style="dashed", color="magenta", weight=3]; 5719[label="gcd2 vuz337 (Pos vuz325) vuz324",fontsize=16,color="burlywood",shape="triangle"];8409[label="vuz337/False",fontsize=10,color="white",style="solid",shape="box"];5719 -> 8409[label="",style="solid", color="burlywood", weight=9]; 8409 -> 5731[label="",style="solid", color="burlywood", weight=3]; 8410[label="vuz337/True",fontsize=10,color="white",style="solid",shape="box"];5719 -> 8410[label="",style="solid", color="burlywood", weight=9]; 8410 -> 5732[label="",style="solid", color="burlywood", weight=3]; 531[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];531 -> 581[label="",style="solid", color="black", weight=3]; 534[label="primQuotInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Neg (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];534 -> 585[label="",style="solid", color="black", weight=3]; 535[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];535 -> 586[label="",style="solid", color="black", weight=3]; 538[label="primQuotInt (primMulInt (Neg vuz80) (Pos (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Pos (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];538 -> 590[label="",style="solid", color="black", weight=3]; 6955 -> 2582[label="",style="dashed", color="red", weight=0]; 6955[label="Neg vuz412 == fromInt (Pos Zero)",fontsize=16,color="magenta"];6955 -> 6959[label="",style="dashed", color="magenta", weight=3]; 6954[label="gcd2 vuz419 (Neg vuz412) vuz411",fontsize=16,color="burlywood",shape="triangle"];8411[label="vuz419/False",fontsize=10,color="white",style="solid",shape="box"];6954 -> 8411[label="",style="solid", color="burlywood", weight=9]; 8411 -> 6960[label="",style="solid", color="burlywood", weight=3]; 8412[label="vuz419/True",fontsize=10,color="white",style="solid",shape="box"];6954 -> 8412[label="",style="solid", color="burlywood", weight=9]; 8412 -> 6961[label="",style="solid", color="burlywood", weight=3]; 541[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];541 -> 594[label="",style="solid", color="black", weight=3]; 544[label="primQuotInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Neg (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];544 -> 598[label="",style="solid", color="black", weight=3]; 545[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];545 -> 599[label="",style="solid", color="black", weight=3]; 548[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];548 -> 603[label="",style="solid", color="black", weight=3]; 550 -> 2647[label="",style="dashed", color="red", weight=0]; 550[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];550 -> 2689[label="",style="dashed", color="magenta", weight=3]; 550 -> 2690[label="",style="dashed", color="magenta", weight=3]; 549[label="Integer (Pos Zero) `quot` gcd2 vuz27 (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8413[label="vuz27/False",fontsize=10,color="white",style="solid",shape="box"];549 -> 8413[label="",style="solid", color="burlywood", weight=9]; 8413 -> 604[label="",style="solid", color="burlywood", weight=3]; 8414[label="vuz27/True",fontsize=10,color="white",style="solid",shape="box"];549 -> 8414[label="",style="solid", color="burlywood", weight=9]; 8414 -> 605[label="",style="solid", color="burlywood", weight=3]; 551 -> 2647[label="",style="dashed", color="red", weight=0]; 551[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];551 -> 2691[label="",style="dashed", color="magenta", weight=3]; 551 -> 2692[label="",style="dashed", color="magenta", weight=3]; 553 -> 2647[label="",style="dashed", color="red", weight=0]; 553[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];553 -> 2693[label="",style="dashed", color="magenta", weight=3]; 553 -> 2694[label="",style="dashed", color="magenta", weight=3]; 552[label="Integer (Neg Zero) `quot` gcd2 vuz28 (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8415[label="vuz28/False",fontsize=10,color="white",style="solid",shape="box"];552 -> 8415[label="",style="solid", color="burlywood", weight=9]; 8415 -> 606[label="",style="solid", color="burlywood", weight=3]; 8416[label="vuz28/True",fontsize=10,color="white",style="solid",shape="box"];552 -> 8416[label="",style="solid", color="burlywood", weight=9]; 8416 -> 607[label="",style="solid", color="burlywood", weight=3]; 554 -> 2647[label="",style="dashed", color="red", weight=0]; 554[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];554 -> 2695[label="",style="dashed", color="magenta", weight=3]; 554 -> 2696[label="",style="dashed", color="magenta", weight=3]; 555[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd3 (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];555 -> 608[label="",style="solid", color="black", weight=3]; 557 -> 2647[label="",style="dashed", color="red", weight=0]; 557[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];557 -> 2697[label="",style="dashed", color="magenta", weight=3]; 557 -> 2698[label="",style="dashed", color="magenta", weight=3]; 556[label="Integer (Pos Zero) `quot` gcd2 vuz29 (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8417[label="vuz29/False",fontsize=10,color="white",style="solid",shape="box"];556 -> 8417[label="",style="solid", color="burlywood", weight=9]; 8417 -> 609[label="",style="solid", color="burlywood", weight=3]; 8418[label="vuz29/True",fontsize=10,color="white",style="solid",shape="box"];556 -> 8418[label="",style="solid", color="burlywood", weight=9]; 8418 -> 610[label="",style="solid", color="burlywood", weight=3]; 558 -> 2647[label="",style="dashed", color="red", weight=0]; 558[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];558 -> 2699[label="",style="dashed", color="magenta", weight=3]; 558 -> 2700[label="",style="dashed", color="magenta", weight=3]; 560 -> 2647[label="",style="dashed", color="red", weight=0]; 560[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];560 -> 2701[label="",style="dashed", color="magenta", weight=3]; 560 -> 2702[label="",style="dashed", color="magenta", weight=3]; 559[label="Integer (Neg Zero) `quot` gcd2 vuz30 (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8419[label="vuz30/False",fontsize=10,color="white",style="solid",shape="box"];559 -> 8419[label="",style="solid", color="burlywood", weight=9]; 8419 -> 611[label="",style="solid", color="burlywood", weight=3]; 8420[label="vuz30/True",fontsize=10,color="white",style="solid",shape="box"];559 -> 8420[label="",style="solid", color="burlywood", weight=9]; 8420 -> 612[label="",style="solid", color="burlywood", weight=3]; 561 -> 2647[label="",style="dashed", color="red", weight=0]; 561[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];561 -> 2703[label="",style="dashed", color="magenta", weight=3]; 561 -> 2704[label="",style="dashed", color="magenta", weight=3]; 5721[label="vuz323 * signum (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5721 -> 5812[label="",style="solid", color="black", weight=3]; 5722[label="gcd2 False (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5722 -> 5813[label="",style="solid", color="black", weight=3]; 5723[label="gcd2 True (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5723 -> 5814[label="",style="solid", color="black", weight=3]; 5724[label="primMulInt vuz322 (signum (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8421[label="vuz322/Pos vuz3220",fontsize=10,color="white",style="solid",shape="box"];5724 -> 8421[label="",style="solid", color="burlywood", weight=9]; 8421 -> 5815[label="",style="solid", color="burlywood", weight=3]; 8422[label="vuz322/Neg vuz3220",fontsize=10,color="white",style="solid",shape="box"];5724 -> 8422[label="",style="solid", color="burlywood", weight=9]; 8422 -> 5816[label="",style="solid", color="burlywood", weight=3]; 5725 -> 5817[label="",style="dashed", color="red", weight=0]; 5725[label="gcd0 (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5725 -> 5818[label="",style="dashed", color="magenta", weight=3]; 5726 -> 5819[label="",style="dashed", color="red", weight=0]; 5726[label="gcd1 (Pos Zero == fromInt (Pos Zero)) (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5726 -> 5820[label="",style="dashed", color="magenta", weight=3]; 5726 -> 5821[label="",style="dashed", color="magenta", weight=3]; 5727[label="primDivNatS0 (Succ vuz30100) vuz31900 (primGEqNatS (Succ vuz30100) vuz31900)",fontsize=16,color="burlywood",shape="box"];8423[label="vuz31900/Succ vuz319000",fontsize=10,color="white",style="solid",shape="box"];5727 -> 8423[label="",style="solid", color="burlywood", weight=9]; 8423 -> 5822[label="",style="solid", color="burlywood", weight=3]; 8424[label="vuz31900/Zero",fontsize=10,color="white",style="solid",shape="box"];5727 -> 8424[label="",style="solid", color="burlywood", weight=9]; 8424 -> 5823[label="",style="solid", color="burlywood", weight=3]; 5728[label="primDivNatS0 Zero vuz31900 (primGEqNatS Zero vuz31900)",fontsize=16,color="burlywood",shape="box"];8425[label="vuz31900/Succ vuz319000",fontsize=10,color="white",style="solid",shape="box"];5728 -> 8425[label="",style="solid", color="burlywood", weight=9]; 8425 -> 5824[label="",style="solid", color="burlywood", weight=3]; 8426[label="vuz31900/Zero",fontsize=10,color="white",style="solid",shape="box"];5728 -> 8426[label="",style="solid", color="burlywood", weight=9]; 8426 -> 5825[label="",style="solid", color="burlywood", weight=3]; 5729[label="gcd3 (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5729 -> 5826[label="",style="solid", color="black", weight=3]; 6956[label="primMulInt vuz410 (signum (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8427[label="vuz410/Pos vuz4100",fontsize=10,color="white",style="solid",shape="box"];6956 -> 8427[label="",style="solid", color="burlywood", weight=9]; 8427 -> 7005[label="",style="solid", color="burlywood", weight=3]; 8428[label="vuz410/Neg vuz4100",fontsize=10,color="white",style="solid",shape="box"];6956 -> 8428[label="",style="solid", color="burlywood", weight=9]; 8428 -> 7006[label="",style="solid", color="burlywood", weight=3]; 6957 -> 7007[label="",style="dashed", color="red", weight=0]; 6957[label="gcd0 (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6957 -> 7008[label="",style="dashed", color="magenta", weight=3]; 6958 -> 7009[label="",style="dashed", color="red", weight=0]; 6958[label="gcd1 (Neg Zero == fromInt (Pos Zero)) (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6958 -> 7010[label="",style="dashed", color="magenta", weight=3]; 6958 -> 7011[label="",style="dashed", color="magenta", weight=3]; 570 -> 148[label="",style="dashed", color="red", weight=0]; 570[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];570 -> 620[label="",style="dashed", color="magenta", weight=3]; 571 -> 148[label="",style="dashed", color="red", weight=0]; 571[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];571 -> 621[label="",style="dashed", color="magenta", weight=3]; 569[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz32 == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz31) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="triangle"];8429[label="vuz32/False",fontsize=10,color="white",style="solid",shape="box"];569 -> 8429[label="",style="solid", color="burlywood", weight=9]; 8429 -> 622[label="",style="solid", color="burlywood", weight=3]; 8430[label="vuz32/True",fontsize=10,color="white",style="solid",shape="box"];569 -> 8430[label="",style="solid", color="burlywood", weight=9]; 8430 -> 623[label="",style="solid", color="burlywood", weight=3]; 572[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz23) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];572 -> 624[label="",style="solid", color="black", weight=3]; 573[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz23) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];573 -> 625[label="",style="solid", color="black", weight=3]; 574[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];574 -> 626[label="",style="solid", color="black", weight=3]; 575[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz25) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];575 -> 627[label="",style="solid", color="black", weight=3]; 576[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz25) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];576 -> 628[label="",style="solid", color="black", weight=3]; 577 -> 5417[label="",style="dashed", color="red", weight=0]; 577[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];577 -> 5469[label="",style="dashed", color="magenta", weight=3]; 577 -> 5470[label="",style="dashed", color="magenta", weight=3]; 4658[label="Succ vuz27500",fontsize=16,color="green",shape="box"];4659[label="vuz23600",fontsize=16,color="green",shape="box"];4579[label="primPlusNat (Succ vuz2850) (Succ vuz27500)",fontsize=16,color="black",shape="box"];4579 -> 4655[label="",style="solid", color="black", weight=3]; 4580[label="primPlusNat Zero (Succ vuz27500)",fontsize=16,color="black",shape="box"];4580 -> 4656[label="",style="solid", color="black", weight=3]; 5730[label="Pos vuz325",fontsize=16,color="green",shape="box"];5731[label="gcd2 False (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5731 -> 5827[label="",style="solid", color="black", weight=3]; 5732[label="gcd2 True (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5732 -> 5828[label="",style="solid", color="black", weight=3]; 581[label="primQuotInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Neg (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];581 -> 632[label="",style="solid", color="black", weight=3]; 585 -> 6450[label="",style="dashed", color="red", weight=0]; 585[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="magenta"];585 -> 6511[label="",style="dashed", color="magenta", weight=3]; 585 -> 6512[label="",style="dashed", color="magenta", weight=3]; 586[label="primQuotInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Neg (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];586 -> 636[label="",style="solid", color="black", weight=3]; 590 -> 6450[label="",style="dashed", color="red", weight=0]; 590[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];590 -> 6513[label="",style="dashed", color="magenta", weight=3]; 590 -> 6514[label="",style="dashed", color="magenta", weight=3]; 6959[label="Neg vuz412",fontsize=16,color="green",shape="box"];6960[label="gcd2 False (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6960 -> 7012[label="",style="solid", color="black", weight=3]; 6961[label="gcd2 True (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6961 -> 7013[label="",style="solid", color="black", weight=3]; 594[label="primQuotInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Neg (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];594 -> 642[label="",style="solid", color="black", weight=3]; 598 -> 5417[label="",style="dashed", color="red", weight=0]; 598[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="magenta"];598 -> 5473[label="",style="dashed", color="magenta", weight=3]; 598 -> 5474[label="",style="dashed", color="magenta", weight=3]; 599[label="primQuotInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Neg (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];599 -> 646[label="",style="solid", color="black", weight=3]; 603[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];603 -> 649[label="",style="solid", color="black", weight=3]; 2689[label="Pos Zero",fontsize=16,color="green",shape="box"];2690[label="Pos Zero",fontsize=16,color="green",shape="box"];604[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];604 -> 650[label="",style="solid", color="black", weight=3]; 605[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];605 -> 651[label="",style="solid", color="black", weight=3]; 2691[label="Pos Zero",fontsize=16,color="green",shape="box"];2692[label="Pos Zero",fontsize=16,color="green",shape="box"];2693[label="Pos Zero",fontsize=16,color="green",shape="box"];2694[label="Neg Zero",fontsize=16,color="green",shape="box"];606[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];606 -> 652[label="",style="solid", color="black", weight=3]; 607[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];607 -> 653[label="",style="solid", color="black", weight=3]; 2695[label="Pos Zero",fontsize=16,color="green",shape="box"];2696[label="Neg Zero",fontsize=16,color="green",shape="box"];608[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];608 -> 654[label="",style="solid", color="black", weight=3]; 2697[label="Pos Zero",fontsize=16,color="green",shape="box"];2698[label="Pos Zero",fontsize=16,color="green",shape="box"];609[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];609 -> 655[label="",style="solid", color="black", weight=3]; 610[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];610 -> 656[label="",style="solid", color="black", weight=3]; 2699[label="Pos Zero",fontsize=16,color="green",shape="box"];2700[label="Pos Zero",fontsize=16,color="green",shape="box"];2701[label="Pos Zero",fontsize=16,color="green",shape="box"];2702[label="Neg Zero",fontsize=16,color="green",shape="box"];611[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];611 -> 657[label="",style="solid", color="black", weight=3]; 612[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];612 -> 658[label="",style="solid", color="black", weight=3]; 2703[label="Pos Zero",fontsize=16,color="green",shape="box"];2704[label="Neg Zero",fontsize=16,color="green",shape="box"];5812[label="primMulInt vuz323 (signum (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8431[label="vuz323/Pos vuz3230",fontsize=10,color="white",style="solid",shape="box"];5812 -> 8431[label="",style="solid", color="burlywood", weight=9]; 8431 -> 5829[label="",style="solid", color="burlywood", weight=3]; 8432[label="vuz323/Neg vuz3230",fontsize=10,color="white",style="solid",shape="box"];5812 -> 8432[label="",style="solid", color="burlywood", weight=9]; 8432 -> 5830[label="",style="solid", color="burlywood", weight=3]; 5813 -> 5831[label="",style="dashed", color="red", weight=0]; 5813[label="gcd0 (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5813 -> 5832[label="",style="dashed", color="magenta", weight=3]; 5814 -> 5833[label="",style="dashed", color="red", weight=0]; 5814[label="gcd1 (Pos (Succ vuz900) == fromInt (Pos Zero)) (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5814 -> 5834[label="",style="dashed", color="magenta", weight=3]; 5814 -> 5835[label="",style="dashed", color="magenta", weight=3]; 5815[label="primMulInt (Pos vuz3220) (signum (Pos Zero))",fontsize=16,color="black",shape="box"];5815 -> 5836[label="",style="solid", color="black", weight=3]; 5816[label="primMulInt (Neg vuz3220) (signum (Pos Zero))",fontsize=16,color="black",shape="box"];5816 -> 5837[label="",style="solid", color="black", weight=3]; 5818 -> 5714[label="",style="dashed", color="red", weight=0]; 5818[label="vuz322 * signum (Pos Zero)",fontsize=16,color="magenta"];5817[label="gcd0 vuz344 (Pos Zero)",fontsize=16,color="black",shape="triangle"];5817 -> 5838[label="",style="solid", color="black", weight=3]; 5820 -> 2582[label="",style="dashed", color="red", weight=0]; 5820[label="Pos Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];5820 -> 5839[label="",style="dashed", color="magenta", weight=3]; 5821 -> 5714[label="",style="dashed", color="red", weight=0]; 5821[label="vuz322 * signum (Pos Zero)",fontsize=16,color="magenta"];5819[label="gcd1 vuz346 vuz345 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];8433[label="vuz346/False",fontsize=10,color="white",style="solid",shape="box"];5819 -> 8433[label="",style="solid", color="burlywood", weight=9]; 8433 -> 5840[label="",style="solid", color="burlywood", weight=3]; 8434[label="vuz346/True",fontsize=10,color="white",style="solid",shape="box"];5819 -> 8434[label="",style="solid", color="burlywood", weight=9]; 8434 -> 5841[label="",style="solid", color="burlywood", weight=3]; 5822[label="primDivNatS0 (Succ vuz30100) (Succ vuz319000) (primGEqNatS (Succ vuz30100) (Succ vuz319000))",fontsize=16,color="black",shape="box"];5822 -> 5842[label="",style="solid", color="black", weight=3]; 5823[label="primDivNatS0 (Succ vuz30100) Zero (primGEqNatS (Succ vuz30100) Zero)",fontsize=16,color="black",shape="box"];5823 -> 5843[label="",style="solid", color="black", weight=3]; 5824[label="primDivNatS0 Zero (Succ vuz319000) (primGEqNatS Zero (Succ vuz319000))",fontsize=16,color="black",shape="box"];5824 -> 5844[label="",style="solid", color="black", weight=3]; 5825[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];5825 -> 5845[label="",style="solid", color="black", weight=3]; 5826 -> 5846[label="",style="dashed", color="red", weight=0]; 5826[label="gcd2 (vuz326 * signum (Neg (Succ vuz900)) == fromInt (Pos Zero)) (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5826 -> 5847[label="",style="dashed", color="magenta", weight=3]; 7005[label="primMulInt (Pos vuz4100) (signum (Neg Zero))",fontsize=16,color="black",shape="box"];7005 -> 7014[label="",style="solid", color="black", weight=3]; 7006[label="primMulInt (Neg vuz4100) (signum (Neg Zero))",fontsize=16,color="black",shape="box"];7006 -> 7015[label="",style="solid", color="black", weight=3]; 7008 -> 6939[label="",style="dashed", color="red", weight=0]; 7008[label="vuz410 * signum (Neg Zero)",fontsize=16,color="magenta"];7007[label="gcd0 vuz421 (Neg Zero)",fontsize=16,color="black",shape="triangle"];7007 -> 7016[label="",style="solid", color="black", weight=3]; 7010 -> 2582[label="",style="dashed", color="red", weight=0]; 7010[label="Neg Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];7010 -> 7017[label="",style="dashed", color="magenta", weight=3]; 7011 -> 6939[label="",style="dashed", color="red", weight=0]; 7011[label="vuz410 * signum (Neg Zero)",fontsize=16,color="magenta"];7009[label="gcd1 vuz423 vuz422 (Neg Zero)",fontsize=16,color="burlywood",shape="triangle"];8435[label="vuz423/False",fontsize=10,color="white",style="solid",shape="box"];7009 -> 8435[label="",style="solid", color="burlywood", weight=9]; 8435 -> 7018[label="",style="solid", color="burlywood", weight=3]; 8436[label="vuz423/True",fontsize=10,color="white",style="solid",shape="box"];7009 -> 8436[label="",style="solid", color="burlywood", weight=9]; 8436 -> 7019[label="",style="solid", color="burlywood", weight=3]; 620[label="vuz900",fontsize=16,color="green",shape="box"];621[label="vuz900",fontsize=16,color="green",shape="box"];622[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz31) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];622 -> 666[label="",style="solid", color="black", weight=3]; 623[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz31) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];623 -> 667[label="",style="solid", color="black", weight=3]; 624[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (Integer (Pos Zero) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (Integer (Pos Zero) > fromInt (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];624 -> 668[label="",style="solid", color="black", weight=3]; 625[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * fromInt (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];625 -> 669[label="",style="solid", color="black", weight=3]; 626[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == fromInt (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];626 -> 670[label="",style="solid", color="black", weight=3]; 627[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (Integer (Neg Zero) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (Integer (Neg Zero) > fromInt (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];627 -> 671[label="",style="solid", color="black", weight=3]; 628[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * fromInt (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];628 -> 672[label="",style="solid", color="black", weight=3]; 5469 -> 4436[label="",style="dashed", color="red", weight=0]; 5469[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5469 -> 5666[label="",style="dashed", color="magenta", weight=3]; 5469 -> 5667[label="",style="dashed", color="magenta", weight=3]; 5470 -> 5621[label="",style="dashed", color="red", weight=0]; 5470[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5470 -> 5628[label="",style="dashed", color="magenta", weight=3]; 5470 -> 5629[label="",style="dashed", color="magenta", weight=3]; 4655[label="Succ (Succ (primPlusNat vuz2850 vuz27500))",fontsize=16,color="green",shape="box"];4655 -> 4682[label="",style="dashed", color="green", weight=3]; 4656[label="Succ vuz27500",fontsize=16,color="green",shape="box"];5827[label="gcd0 (Pos vuz325) vuz324",fontsize=16,color="black",shape="triangle"];5827 -> 5848[label="",style="solid", color="black", weight=3]; 5828 -> 5849[label="",style="dashed", color="red", weight=0]; 5828[label="gcd1 (vuz324 == fromInt (Pos Zero)) (Pos vuz325) vuz324",fontsize=16,color="magenta"];5828 -> 5850[label="",style="dashed", color="magenta", weight=3]; 632 -> 6450[label="",style="dashed", color="red", weight=0]; 632[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="magenta"];632 -> 6525[label="",style="dashed", color="magenta", weight=3]; 632 -> 6526[label="",style="dashed", color="magenta", weight=3]; 6511 -> 4436[label="",style="dashed", color="red", weight=0]; 6511[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6511 -> 6899[label="",style="dashed", color="magenta", weight=3]; 6511 -> 6900[label="",style="dashed", color="magenta", weight=3]; 6512 -> 6865[label="",style="dashed", color="red", weight=0]; 6512[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900)))",fontsize=16,color="magenta"];6512 -> 6872[label="",style="dashed", color="magenta", weight=3]; 6512 -> 6873[label="",style="dashed", color="magenta", weight=3]; 636 -> 6450[label="",style="dashed", color="red", weight=0]; 636[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="magenta"];636 -> 6529[label="",style="dashed", color="magenta", weight=3]; 636 -> 6530[label="",style="dashed", color="magenta", weight=3]; 6513 -> 4436[label="",style="dashed", color="red", weight=0]; 6513[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6513 -> 6901[label="",style="dashed", color="magenta", weight=3]; 6513 -> 6902[label="",style="dashed", color="magenta", weight=3]; 6514 -> 6865[label="",style="dashed", color="red", weight=0]; 6514[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];6514 -> 6874[label="",style="dashed", color="magenta", weight=3]; 6514 -> 6875[label="",style="dashed", color="magenta", weight=3]; 7012[label="gcd0 (Neg vuz412) vuz411",fontsize=16,color="black",shape="triangle"];7012 -> 7048[label="",style="solid", color="black", weight=3]; 7013 -> 7049[label="",style="dashed", color="red", weight=0]; 7013[label="gcd1 (vuz411 == fromInt (Pos Zero)) (Neg vuz412) vuz411",fontsize=16,color="magenta"];7013 -> 7050[label="",style="dashed", color="magenta", weight=3]; 642 -> 5417[label="",style="dashed", color="red", weight=0]; 642[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="magenta"];642 -> 5481[label="",style="dashed", color="magenta", weight=3]; 642 -> 5482[label="",style="dashed", color="magenta", weight=3]; 5473 -> 4436[label="",style="dashed", color="red", weight=0]; 5473[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5473 -> 5668[label="",style="dashed", color="magenta", weight=3]; 5473 -> 5669[label="",style="dashed", color="magenta", weight=3]; 5474 -> 5621[label="",style="dashed", color="red", weight=0]; 5474[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900)))",fontsize=16,color="magenta"];5474 -> 5630[label="",style="dashed", color="magenta", weight=3]; 5474 -> 5631[label="",style="dashed", color="magenta", weight=3]; 646 -> 5417[label="",style="dashed", color="red", weight=0]; 646[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="magenta"];646 -> 5485[label="",style="dashed", color="magenta", weight=3]; 646 -> 5486[label="",style="dashed", color="magenta", weight=3]; 649[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8437[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];649 -> 8437[label="",style="solid", color="burlywood", weight=9]; 8437 -> 693[label="",style="solid", color="burlywood", weight=3]; 8438[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];649 -> 8438[label="",style="solid", color="burlywood", weight=9]; 8438 -> 694[label="",style="solid", color="burlywood", weight=3]; 650[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];650 -> 695[label="",style="solid", color="black", weight=3]; 651[label="Integer (Pos Zero) `quot` gcd1 (abs (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];651 -> 696[label="",style="solid", color="black", weight=3]; 652[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];652 -> 697[label="",style="solid", color="black", weight=3]; 653[label="Integer (Neg Zero) `quot` gcd1 (abs (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];653 -> 698[label="",style="solid", color="black", weight=3]; 654[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];654 -> 699[label="",style="solid", color="black", weight=3]; 655[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];655 -> 700[label="",style="solid", color="black", weight=3]; 656[label="Integer (Pos Zero) `quot` gcd1 (abs (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];656 -> 701[label="",style="solid", color="black", weight=3]; 657[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];657 -> 702[label="",style="solid", color="black", weight=3]; 658[label="Integer (Neg Zero) `quot` gcd1 (abs (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];658 -> 703[label="",style="solid", color="black", weight=3]; 5829[label="primMulInt (Pos vuz3230) (signum (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5829 -> 5851[label="",style="solid", color="black", weight=3]; 5830[label="primMulInt (Neg vuz3230) (signum (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5830 -> 5852[label="",style="solid", color="black", weight=3]; 5832 -> 5721[label="",style="dashed", color="red", weight=0]; 5832[label="vuz323 * signum (Pos (Succ vuz900))",fontsize=16,color="magenta"];5831[label="gcd0 vuz348 (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5831 -> 5853[label="",style="solid", color="black", weight=3]; 5834 -> 5721[label="",style="dashed", color="red", weight=0]; 5834[label="vuz323 * signum (Pos (Succ vuz900))",fontsize=16,color="magenta"];5835 -> 2582[label="",style="dashed", color="red", weight=0]; 5835[label="Pos (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5835 -> 5854[label="",style="dashed", color="magenta", weight=3]; 5833[label="gcd1 vuz350 vuz349 (Pos (Succ vuz900))",fontsize=16,color="burlywood",shape="triangle"];8439[label="vuz350/False",fontsize=10,color="white",style="solid",shape="box"];5833 -> 8439[label="",style="solid", color="burlywood", weight=9]; 8439 -> 5855[label="",style="solid", color="burlywood", weight=3]; 8440[label="vuz350/True",fontsize=10,color="white",style="solid",shape="box"];5833 -> 8440[label="",style="solid", color="burlywood", weight=9]; 8440 -> 5856[label="",style="solid", color="burlywood", weight=3]; 5836 -> 6106[label="",style="dashed", color="red", weight=0]; 5836[label="primMulInt (Pos vuz3220) (signumReal (Pos Zero))",fontsize=16,color="magenta"];5836 -> 6107[label="",style="dashed", color="magenta", weight=3]; 5837 -> 6140[label="",style="dashed", color="red", weight=0]; 5837[label="primMulInt (Neg vuz3220) (signumReal (Pos Zero))",fontsize=16,color="magenta"];5837 -> 6141[label="",style="dashed", color="magenta", weight=3]; 5838 -> 4166[label="",style="dashed", color="red", weight=0]; 5838[label="gcd0Gcd' (abs vuz344) (abs (Pos Zero))",fontsize=16,color="magenta"];5838 -> 5859[label="",style="dashed", color="magenta", weight=3]; 5838 -> 5860[label="",style="dashed", color="magenta", weight=3]; 5839[label="Pos Zero",fontsize=16,color="green",shape="box"];5840[label="gcd1 False vuz345 (Pos Zero)",fontsize=16,color="black",shape="box"];5840 -> 5861[label="",style="solid", color="black", weight=3]; 5841[label="gcd1 True vuz345 (Pos Zero)",fontsize=16,color="black",shape="box"];5841 -> 5862[label="",style="solid", color="black", weight=3]; 5842 -> 7477[label="",style="dashed", color="red", weight=0]; 5842[label="primDivNatS0 (Succ vuz30100) (Succ vuz319000) (primGEqNatS vuz30100 vuz319000)",fontsize=16,color="magenta"];5842 -> 7478[label="",style="dashed", color="magenta", weight=3]; 5842 -> 7479[label="",style="dashed", color="magenta", weight=3]; 5842 -> 7480[label="",style="dashed", color="magenta", weight=3]; 5842 -> 7481[label="",style="dashed", color="magenta", weight=3]; 5843[label="primDivNatS0 (Succ vuz30100) Zero True",fontsize=16,color="black",shape="box"];5843 -> 5865[label="",style="solid", color="black", weight=3]; 5844[label="primDivNatS0 Zero (Succ vuz319000) False",fontsize=16,color="black",shape="box"];5844 -> 5866[label="",style="solid", color="black", weight=3]; 5845[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];5845 -> 5867[label="",style="solid", color="black", weight=3]; 5847 -> 2582[label="",style="dashed", color="red", weight=0]; 5847[label="vuz326 * signum (Neg (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5847 -> 5868[label="",style="dashed", color="magenta", weight=3]; 5846[label="gcd2 vuz352 (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="burlywood",shape="triangle"];8441[label="vuz352/False",fontsize=10,color="white",style="solid",shape="box"];5846 -> 8441[label="",style="solid", color="burlywood", weight=9]; 8441 -> 5869[label="",style="solid", color="burlywood", weight=3]; 8442[label="vuz352/True",fontsize=10,color="white",style="solid",shape="box"];5846 -> 8442[label="",style="solid", color="burlywood", weight=9]; 8442 -> 5870[label="",style="solid", color="burlywood", weight=3]; 7014 -> 6106[label="",style="dashed", color="red", weight=0]; 7014[label="primMulInt (Pos vuz4100) (signumReal (Neg Zero))",fontsize=16,color="magenta"];7014 -> 7051[label="",style="dashed", color="magenta", weight=3]; 7014 -> 7052[label="",style="dashed", color="magenta", weight=3]; 7015 -> 6140[label="",style="dashed", color="red", weight=0]; 7015[label="primMulInt (Neg vuz4100) (signumReal (Neg Zero))",fontsize=16,color="magenta"];7015 -> 7053[label="",style="dashed", color="magenta", weight=3]; 7015 -> 7054[label="",style="dashed", color="magenta", weight=3]; 7016 -> 4166[label="",style="dashed", color="red", weight=0]; 7016[label="gcd0Gcd' (abs vuz421) (abs (Neg Zero))",fontsize=16,color="magenta"];7016 -> 7055[label="",style="dashed", color="magenta", weight=3]; 7016 -> 7056[label="",style="dashed", color="magenta", weight=3]; 7017[label="Neg Zero",fontsize=16,color="green",shape="box"];7018[label="gcd1 False vuz422 (Neg Zero)",fontsize=16,color="black",shape="box"];7018 -> 7057[label="",style="solid", color="black", weight=3]; 7019[label="gcd1 True vuz422 (Neg Zero)",fontsize=16,color="black",shape="box"];7019 -> 7058[label="",style="solid", color="black", weight=3]; 666[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];666 -> 712[label="",style="solid", color="black", weight=3]; 667[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * fromInt (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos Zero)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];667 -> 713[label="",style="solid", color="black", weight=3]; 668[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];668 -> 714[label="",style="solid", color="black", weight=3]; 669[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * Integer (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];669 -> 715[label="",style="solid", color="black", weight=3]; 670[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == Integer (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];670 -> 716[label="",style="solid", color="black", weight=3]; 671[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];671 -> 717[label="",style="solid", color="black", weight=3]; 672[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * Integer (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];672 -> 718[label="",style="solid", color="black", weight=3]; 5666[label="Succ Zero",fontsize=16,color="green",shape="box"];5667[label="vuz80",fontsize=16,color="green",shape="box"];5628 -> 4436[label="",style="dashed", color="red", weight=0]; 5628[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5628 -> 5670[label="",style="dashed", color="magenta", weight=3]; 5628 -> 5671[label="",style="dashed", color="magenta", weight=3]; 5629 -> 2348[label="",style="dashed", color="red", weight=0]; 5629[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];5629 -> 5672[label="",style="dashed", color="magenta", weight=3]; 4682[label="primPlusNat vuz2850 vuz27500",fontsize=16,color="burlywood",shape="triangle"];8443[label="vuz2850/Succ vuz28500",fontsize=10,color="white",style="solid",shape="box"];4682 -> 8443[label="",style="solid", color="burlywood", weight=9]; 8443 -> 4705[label="",style="solid", color="burlywood", weight=3]; 8444[label="vuz2850/Zero",fontsize=10,color="white",style="solid",shape="box"];4682 -> 8444[label="",style="solid", color="burlywood", weight=9]; 8444 -> 4706[label="",style="solid", color="burlywood", weight=3]; 5848 -> 4166[label="",style="dashed", color="red", weight=0]; 5848[label="gcd0Gcd' (abs (Pos vuz325)) (abs vuz324)",fontsize=16,color="magenta"];5848 -> 5871[label="",style="dashed", color="magenta", weight=3]; 5848 -> 5872[label="",style="dashed", color="magenta", weight=3]; 5850 -> 2582[label="",style="dashed", color="red", weight=0]; 5850[label="vuz324 == fromInt (Pos Zero)",fontsize=16,color="magenta"];5850 -> 5873[label="",style="dashed", color="magenta", weight=3]; 5849[label="gcd1 vuz354 (Pos vuz325) vuz324",fontsize=16,color="burlywood",shape="triangle"];8445[label="vuz354/False",fontsize=10,color="white",style="solid",shape="box"];5849 -> 8445[label="",style="solid", color="burlywood", weight=9]; 8445 -> 5874[label="",style="solid", color="burlywood", weight=3]; 8446[label="vuz354/True",fontsize=10,color="white",style="solid",shape="box"];5849 -> 8446[label="",style="solid", color="burlywood", weight=9]; 8446 -> 5875[label="",style="solid", color="burlywood", weight=3]; 6525 -> 4436[label="",style="dashed", color="red", weight=0]; 6525[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6525 -> 6903[label="",style="dashed", color="magenta", weight=3]; 6525 -> 6904[label="",style="dashed", color="magenta", weight=3]; 6526 -> 6865[label="",style="dashed", color="red", weight=0]; 6526[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero))",fontsize=16,color="magenta"];6526 -> 6876[label="",style="dashed", color="magenta", weight=3]; 6526 -> 6877[label="",style="dashed", color="magenta", weight=3]; 6899[label="Succ Zero",fontsize=16,color="green",shape="box"];6900[label="vuz80",fontsize=16,color="green",shape="box"];6872 -> 4436[label="",style="dashed", color="red", weight=0]; 6872[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6872 -> 6905[label="",style="dashed", color="magenta", weight=3]; 6872 -> 6906[label="",style="dashed", color="magenta", weight=3]; 6873 -> 2348[label="",style="dashed", color="red", weight=0]; 6873[label="abs (Neg (Succ vuz900))",fontsize=16,color="magenta"];6873 -> 6907[label="",style="dashed", color="magenta", weight=3]; 6529 -> 4436[label="",style="dashed", color="red", weight=0]; 6529[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6529 -> 6908[label="",style="dashed", color="magenta", weight=3]; 6529 -> 6909[label="",style="dashed", color="magenta", weight=3]; 6530 -> 6865[label="",style="dashed", color="red", weight=0]; 6530[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero))",fontsize=16,color="magenta"];6530 -> 6878[label="",style="dashed", color="magenta", weight=3]; 6530 -> 6879[label="",style="dashed", color="magenta", weight=3]; 6901[label="Succ Zero",fontsize=16,color="green",shape="box"];6902[label="vuz80",fontsize=16,color="green",shape="box"];6874 -> 4436[label="",style="dashed", color="red", weight=0]; 6874[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6874 -> 6910[label="",style="dashed", color="magenta", weight=3]; 6874 -> 6911[label="",style="dashed", color="magenta", weight=3]; 6875 -> 2348[label="",style="dashed", color="red", weight=0]; 6875[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];6875 -> 6912[label="",style="dashed", color="magenta", weight=3]; 7048 -> 4166[label="",style="dashed", color="red", weight=0]; 7048[label="gcd0Gcd' (abs (Neg vuz412)) (abs vuz411)",fontsize=16,color="magenta"];7048 -> 7059[label="",style="dashed", color="magenta", weight=3]; 7048 -> 7060[label="",style="dashed", color="magenta", weight=3]; 7050 -> 2582[label="",style="dashed", color="red", weight=0]; 7050[label="vuz411 == fromInt (Pos Zero)",fontsize=16,color="magenta"];7050 -> 7061[label="",style="dashed", color="magenta", weight=3]; 7049[label="gcd1 vuz425 (Neg vuz412) vuz411",fontsize=16,color="burlywood",shape="triangle"];8447[label="vuz425/False",fontsize=10,color="white",style="solid",shape="box"];7049 -> 8447[label="",style="solid", color="burlywood", weight=9]; 8447 -> 7062[label="",style="solid", color="burlywood", weight=3]; 8448[label="vuz425/True",fontsize=10,color="white",style="solid",shape="box"];7049 -> 8448[label="",style="solid", color="burlywood", weight=9]; 8448 -> 7063[label="",style="solid", color="burlywood", weight=3]; 5481 -> 4436[label="",style="dashed", color="red", weight=0]; 5481[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5481 -> 5673[label="",style="dashed", color="magenta", weight=3]; 5481 -> 5674[label="",style="dashed", color="magenta", weight=3]; 5482 -> 5621[label="",style="dashed", color="red", weight=0]; 5482[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero))",fontsize=16,color="magenta"];5482 -> 5632[label="",style="dashed", color="magenta", weight=3]; 5482 -> 5633[label="",style="dashed", color="magenta", weight=3]; 5668[label="Succ Zero",fontsize=16,color="green",shape="box"];5669[label="vuz80",fontsize=16,color="green",shape="box"];5630 -> 4436[label="",style="dashed", color="red", weight=0]; 5630[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5630 -> 5675[label="",style="dashed", color="magenta", weight=3]; 5630 -> 5676[label="",style="dashed", color="magenta", weight=3]; 5631 -> 2348[label="",style="dashed", color="red", weight=0]; 5631[label="abs (Neg (Succ vuz900))",fontsize=16,color="magenta"];5631 -> 5677[label="",style="dashed", color="magenta", weight=3]; 5485 -> 4436[label="",style="dashed", color="red", weight=0]; 5485[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5485 -> 5678[label="",style="dashed", color="magenta", weight=3]; 5485 -> 5679[label="",style="dashed", color="magenta", weight=3]; 5486 -> 5621[label="",style="dashed", color="red", weight=0]; 5486[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero))",fontsize=16,color="magenta"];5486 -> 5634[label="",style="dashed", color="magenta", weight=3]; 5486 -> 5635[label="",style="dashed", color="magenta", weight=3]; 693[label="Integer (primMulInt (Pos vuz80) (Pos (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];693 -> 739[label="",style="solid", color="black", weight=3]; 694[label="Integer (primMulInt (Neg vuz80) (Pos (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];694 -> 740[label="",style="solid", color="black", weight=3]; 695[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];695 -> 741[label="",style="solid", color="black", weight=3]; 696[label="Integer (Pos Zero) `quot` gcd1 (absReal (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];696 -> 742[label="",style="solid", color="black", weight=3]; 697[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];697 -> 743[label="",style="solid", color="black", weight=3]; 698[label="Integer (Neg Zero) `quot` gcd1 (absReal (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];698 -> 744[label="",style="solid", color="black", weight=3]; 699[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt vuz8 (Neg (Succ Zero))) (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8449[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];699 -> 8449[label="",style="solid", color="burlywood", weight=9]; 8449 -> 745[label="",style="solid", color="burlywood", weight=3]; 8450[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];699 -> 8450[label="",style="solid", color="burlywood", weight=9]; 8450 -> 746[label="",style="solid", color="burlywood", weight=3]; 700[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];700 -> 747[label="",style="solid", color="black", weight=3]; 701[label="Integer (Pos Zero) `quot` gcd1 (absReal (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];701 -> 748[label="",style="solid", color="black", weight=3]; 702[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];702 -> 749[label="",style="solid", color="black", weight=3]; 703[label="Integer (Neg Zero) `quot` gcd1 (absReal (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];703 -> 750[label="",style="solid", color="black", weight=3]; 5851 -> 6106[label="",style="dashed", color="red", weight=0]; 5851[label="primMulInt (Pos vuz3230) (signumReal (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5851 -> 6108[label="",style="dashed", color="magenta", weight=3]; 5851 -> 6109[label="",style="dashed", color="magenta", weight=3]; 5852 -> 6140[label="",style="dashed", color="red", weight=0]; 5852[label="primMulInt (Neg vuz3230) (signumReal (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5852 -> 6142[label="",style="dashed", color="magenta", weight=3]; 5852 -> 6143[label="",style="dashed", color="magenta", weight=3]; 5853 -> 4166[label="",style="dashed", color="red", weight=0]; 5853[label="gcd0Gcd' (abs vuz348) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5853 -> 5891[label="",style="dashed", color="magenta", weight=3]; 5853 -> 5892[label="",style="dashed", color="magenta", weight=3]; 5854[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];5855[label="gcd1 False vuz349 (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5855 -> 5893[label="",style="solid", color="black", weight=3]; 5856[label="gcd1 True vuz349 (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5856 -> 5894[label="",style="solid", color="black", weight=3]; 6107[label="signumReal (Pos Zero)",fontsize=16,color="black",shape="triangle"];6107 -> 6130[label="",style="solid", color="black", weight=3]; 6106[label="primMulInt (Pos vuz3220) vuz374",fontsize=16,color="burlywood",shape="triangle"];8451[label="vuz374/Pos vuz3740",fontsize=10,color="white",style="solid",shape="box"];6106 -> 8451[label="",style="solid", color="burlywood", weight=9]; 8451 -> 6131[label="",style="solid", color="burlywood", weight=3]; 8452[label="vuz374/Neg vuz3740",fontsize=10,color="white",style="solid",shape="box"];6106 -> 8452[label="",style="solid", color="burlywood", weight=9]; 8452 -> 6132[label="",style="solid", color="burlywood", weight=3]; 6141 -> 6107[label="",style="dashed", color="red", weight=0]; 6141[label="signumReal (Pos Zero)",fontsize=16,color="magenta"];6140[label="primMulInt (Neg vuz3220) vuz376",fontsize=16,color="burlywood",shape="triangle"];8453[label="vuz376/Pos vuz3760",fontsize=10,color="white",style="solid",shape="box"];6140 -> 8453[label="",style="solid", color="burlywood", weight=9]; 8453 -> 6164[label="",style="solid", color="burlywood", weight=3]; 8454[label="vuz376/Neg vuz3760",fontsize=10,color="white",style="solid",shape="box"];6140 -> 8454[label="",style="solid", color="burlywood", weight=9]; 8454 -> 6165[label="",style="solid", color="burlywood", weight=3]; 5859 -> 2348[label="",style="dashed", color="red", weight=0]; 5859[label="abs vuz344",fontsize=16,color="magenta"];5859 -> 5897[label="",style="dashed", color="magenta", weight=3]; 5860 -> 2348[label="",style="dashed", color="red", weight=0]; 5860[label="abs (Pos Zero)",fontsize=16,color="magenta"];5860 -> 5898[label="",style="dashed", color="magenta", weight=3]; 4166[label="gcd0Gcd' vuz259 vuz258",fontsize=16,color="black",shape="triangle"];4166 -> 4188[label="",style="solid", color="black", weight=3]; 5861 -> 5817[label="",style="dashed", color="red", weight=0]; 5861[label="gcd0 vuz345 (Pos Zero)",fontsize=16,color="magenta"];5861 -> 5899[label="",style="dashed", color="magenta", weight=3]; 5862 -> 3082[label="",style="dashed", color="red", weight=0]; 5862[label="error []",fontsize=16,color="magenta"];7478[label="vuz30100",fontsize=16,color="green",shape="box"];7479[label="vuz319000",fontsize=16,color="green",shape="box"];7480[label="vuz319000",fontsize=16,color="green",shape="box"];7481[label="vuz30100",fontsize=16,color="green",shape="box"];7477[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS vuz454 vuz455)",fontsize=16,color="burlywood",shape="triangle"];8455[label="vuz454/Succ vuz4540",fontsize=10,color="white",style="solid",shape="box"];7477 -> 8455[label="",style="solid", color="burlywood", weight=9]; 8455 -> 7514[label="",style="solid", color="burlywood", weight=3]; 8456[label="vuz454/Zero",fontsize=10,color="white",style="solid",shape="box"];7477 -> 8456[label="",style="solid", color="burlywood", weight=9]; 8456 -> 7515[label="",style="solid", color="burlywood", weight=3]; 5865[label="Succ (primDivNatS (primMinusNatS (Succ vuz30100) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5865 -> 5904[label="",style="dashed", color="green", weight=3]; 5866[label="Zero",fontsize=16,color="green",shape="box"];5867[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5867 -> 5905[label="",style="dashed", color="green", weight=3]; 5868[label="vuz326 * signum (Neg (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5868 -> 5906[label="",style="solid", color="black", weight=3]; 5869[label="gcd2 False (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5869 -> 5907[label="",style="solid", color="black", weight=3]; 5870[label="gcd2 True (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5870 -> 5908[label="",style="solid", color="black", weight=3]; 7051[label="vuz4100",fontsize=16,color="green",shape="box"];7052[label="signumReal (Neg Zero)",fontsize=16,color="black",shape="triangle"];7052 -> 7079[label="",style="solid", color="black", weight=3]; 7053 -> 7052[label="",style="dashed", color="red", weight=0]; 7053[label="signumReal (Neg Zero)",fontsize=16,color="magenta"];7054[label="vuz4100",fontsize=16,color="green",shape="box"];7055 -> 2348[label="",style="dashed", color="red", weight=0]; 7055[label="abs vuz421",fontsize=16,color="magenta"];7055 -> 7080[label="",style="dashed", color="magenta", weight=3]; 7056 -> 2348[label="",style="dashed", color="red", weight=0]; 7056[label="abs (Neg Zero)",fontsize=16,color="magenta"];7056 -> 7081[label="",style="dashed", color="magenta", weight=3]; 7057 -> 7007[label="",style="dashed", color="red", weight=0]; 7057[label="gcd0 vuz422 (Neg Zero)",fontsize=16,color="magenta"];7057 -> 7082[label="",style="dashed", color="magenta", weight=3]; 7058 -> 3082[label="",style="dashed", color="red", weight=0]; 7058[label="error []",fontsize=16,color="magenta"];712[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];712 -> 785[label="",style="solid", color="black", weight=3]; 713[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * Integer (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos Zero)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];713 -> 786[label="",style="solid", color="black", weight=3]; 714[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];714 -> 787[label="",style="solid", color="black", weight=3]; 715[label="Integer (Pos Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];715 -> 788[label="",style="solid", color="black", weight=3]; 716[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];716 -> 789[label="",style="solid", color="black", weight=3]; 717[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];717 -> 790[label="",style="solid", color="black", weight=3]; 718[label="Integer (Neg Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];718 -> 791[label="",style="solid", color="black", weight=3]; 5670[label="Succ Zero",fontsize=16,color="green",shape="box"];5671[label="vuz80",fontsize=16,color="green",shape="box"];5672[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];4705[label="primPlusNat (Succ vuz28500) vuz27500",fontsize=16,color="burlywood",shape="box"];8457[label="vuz27500/Succ vuz275000",fontsize=10,color="white",style="solid",shape="box"];4705 -> 8457[label="",style="solid", color="burlywood", weight=9]; 8457 -> 4758[label="",style="solid", color="burlywood", weight=3]; 8458[label="vuz27500/Zero",fontsize=10,color="white",style="solid",shape="box"];4705 -> 8458[label="",style="solid", color="burlywood", weight=9]; 8458 -> 4759[label="",style="solid", color="burlywood", weight=3]; 4706[label="primPlusNat Zero vuz27500",fontsize=16,color="burlywood",shape="box"];8459[label="vuz27500/Succ vuz275000",fontsize=10,color="white",style="solid",shape="box"];4706 -> 8459[label="",style="solid", color="burlywood", weight=9]; 8459 -> 4760[label="",style="solid", color="burlywood", weight=3]; 8460[label="vuz27500/Zero",fontsize=10,color="white",style="solid",shape="box"];4706 -> 8460[label="",style="solid", color="burlywood", weight=9]; 8460 -> 4761[label="",style="solid", color="burlywood", weight=3]; 5871 -> 2348[label="",style="dashed", color="red", weight=0]; 5871[label="abs (Pos vuz325)",fontsize=16,color="magenta"];5871 -> 5909[label="",style="dashed", color="magenta", weight=3]; 5872 -> 2348[label="",style="dashed", color="red", weight=0]; 5872[label="abs vuz324",fontsize=16,color="magenta"];5872 -> 5910[label="",style="dashed", color="magenta", weight=3]; 5873[label="vuz324",fontsize=16,color="green",shape="box"];5874[label="gcd1 False (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5874 -> 5911[label="",style="solid", color="black", weight=3]; 5875[label="gcd1 True (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5875 -> 5912[label="",style="solid", color="black", weight=3]; 6903[label="Succ Zero",fontsize=16,color="green",shape="box"];6904[label="vuz80",fontsize=16,color="green",shape="box"];6876 -> 4436[label="",style="dashed", color="red", weight=0]; 6876[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6876 -> 6913[label="",style="dashed", color="magenta", weight=3]; 6876 -> 6914[label="",style="dashed", color="magenta", weight=3]; 6877 -> 2348[label="",style="dashed", color="red", weight=0]; 6877[label="abs (Pos Zero)",fontsize=16,color="magenta"];6877 -> 6915[label="",style="dashed", color="magenta", weight=3]; 6905[label="Succ Zero",fontsize=16,color="green",shape="box"];6906[label="vuz80",fontsize=16,color="green",shape="box"];6907[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];6908[label="Succ Zero",fontsize=16,color="green",shape="box"];6909[label="vuz80",fontsize=16,color="green",shape="box"];6878 -> 4436[label="",style="dashed", color="red", weight=0]; 6878[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6878 -> 6916[label="",style="dashed", color="magenta", weight=3]; 6878 -> 6917[label="",style="dashed", color="magenta", weight=3]; 6879 -> 2348[label="",style="dashed", color="red", weight=0]; 6879[label="abs (Neg Zero)",fontsize=16,color="magenta"];6879 -> 6918[label="",style="dashed", color="magenta", weight=3]; 6910[label="Succ Zero",fontsize=16,color="green",shape="box"];6911[label="vuz80",fontsize=16,color="green",shape="box"];6912[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];7059 -> 2348[label="",style="dashed", color="red", weight=0]; 7059[label="abs (Neg vuz412)",fontsize=16,color="magenta"];7059 -> 7083[label="",style="dashed", color="magenta", weight=3]; 7060 -> 2348[label="",style="dashed", color="red", weight=0]; 7060[label="abs vuz411",fontsize=16,color="magenta"];7060 -> 7084[label="",style="dashed", color="magenta", weight=3]; 7061[label="vuz411",fontsize=16,color="green",shape="box"];7062[label="gcd1 False (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];7062 -> 7085[label="",style="solid", color="black", weight=3]; 7063[label="gcd1 True (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];7063 -> 7086[label="",style="solid", color="black", weight=3]; 5673[label="Succ Zero",fontsize=16,color="green",shape="box"];5674[label="vuz80",fontsize=16,color="green",shape="box"];5632 -> 4436[label="",style="dashed", color="red", weight=0]; 5632[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5632 -> 5680[label="",style="dashed", color="magenta", weight=3]; 5632 -> 5681[label="",style="dashed", color="magenta", weight=3]; 5633 -> 2348[label="",style="dashed", color="red", weight=0]; 5633[label="abs (Pos Zero)",fontsize=16,color="magenta"];5633 -> 5682[label="",style="dashed", color="magenta", weight=3]; 5675[label="Succ Zero",fontsize=16,color="green",shape="box"];5676[label="vuz80",fontsize=16,color="green",shape="box"];5677[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];5678[label="Succ Zero",fontsize=16,color="green",shape="box"];5679[label="vuz80",fontsize=16,color="green",shape="box"];5634 -> 4436[label="",style="dashed", color="red", weight=0]; 5634[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5634 -> 5683[label="",style="dashed", color="magenta", weight=3]; 5634 -> 5684[label="",style="dashed", color="magenta", weight=3]; 5635 -> 2348[label="",style="dashed", color="red", weight=0]; 5635[label="abs (Neg Zero)",fontsize=16,color="magenta"];5635 -> 5685[label="",style="dashed", color="magenta", weight=3]; 739[label="Integer (Pos (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8461[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];739 -> 8461[label="",style="solid", color="burlywood", weight=9]; 8461 -> 812[label="",style="solid", color="burlywood", weight=3]; 8462[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];739 -> 8462[label="",style="solid", color="burlywood", weight=9]; 8462 -> 813[label="",style="solid", color="burlywood", weight=3]; 740[label="Integer (Neg (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8463[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];740 -> 8463[label="",style="solid", color="burlywood", weight=9]; 8463 -> 814[label="",style="solid", color="burlywood", weight=3]; 8464[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];740 -> 8464[label="",style="solid", color="burlywood", weight=9]; 8464 -> 815[label="",style="solid", color="burlywood", weight=3]; 741[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];741 -> 816[label="",style="solid", color="black", weight=3]; 742[label="Integer (Pos Zero) `quot` gcd1 (absReal2 (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal2 (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];742 -> 817[label="",style="solid", color="black", weight=3]; 743[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];743 -> 818[label="",style="solid", color="black", weight=3]; 744[label="Integer (Neg Zero) `quot` gcd1 (absReal2 (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal2 (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];744 -> 819[label="",style="solid", color="black", weight=3]; 745[label="Integer (primMulInt (Pos vuz80) (Neg (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];745 -> 820[label="",style="solid", color="black", weight=3]; 746[label="Integer (primMulInt (Neg vuz80) (Neg (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];746 -> 821[label="",style="solid", color="black", weight=3]; 747[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];747 -> 822[label="",style="solid", color="black", weight=3]; 748[label="Integer (Pos Zero) `quot` gcd1 (absReal2 (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal2 (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];748 -> 823[label="",style="solid", color="black", weight=3]; 749[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];749 -> 824[label="",style="solid", color="black", weight=3]; 750[label="Integer (Neg Zero) `quot` gcd1 (absReal2 (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal2 (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];750 -> 825[label="",style="solid", color="black", weight=3]; 6108[label="vuz3230",fontsize=16,color="green",shape="box"];6109[label="signumReal (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];6109 -> 6133[label="",style="solid", color="black", weight=3]; 6142 -> 6109[label="",style="dashed", color="red", weight=0]; 6142[label="signumReal (Pos (Succ vuz900))",fontsize=16,color="magenta"];6143[label="vuz3230",fontsize=16,color="green",shape="box"];5891 -> 2348[label="",style="dashed", color="red", weight=0]; 5891[label="abs vuz348",fontsize=16,color="magenta"];5891 -> 5948[label="",style="dashed", color="magenta", weight=3]; 5892 -> 2348[label="",style="dashed", color="red", weight=0]; 5892[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];5892 -> 5949[label="",style="dashed", color="magenta", weight=3]; 5893 -> 5831[label="",style="dashed", color="red", weight=0]; 5893[label="gcd0 vuz349 (Pos (Succ vuz900))",fontsize=16,color="magenta"];5893 -> 5950[label="",style="dashed", color="magenta", weight=3]; 5894 -> 3082[label="",style="dashed", color="red", weight=0]; 5894[label="error []",fontsize=16,color="magenta"];6130[label="signumReal3 (Pos Zero)",fontsize=16,color="black",shape="box"];6130 -> 6136[label="",style="solid", color="black", weight=3]; 6131[label="primMulInt (Pos vuz3220) (Pos vuz3740)",fontsize=16,color="black",shape="box"];6131 -> 6137[label="",style="solid", color="black", weight=3]; 6132[label="primMulInt (Pos vuz3220) (Neg vuz3740)",fontsize=16,color="black",shape="box"];6132 -> 6138[label="",style="solid", color="black", weight=3]; 6164[label="primMulInt (Neg vuz3220) (Pos vuz3760)",fontsize=16,color="black",shape="box"];6164 -> 6168[label="",style="solid", color="black", weight=3]; 6165[label="primMulInt (Neg vuz3220) (Neg vuz3760)",fontsize=16,color="black",shape="box"];6165 -> 6169[label="",style="solid", color="black", weight=3]; 5897[label="vuz344",fontsize=16,color="green",shape="box"];5898[label="Pos Zero",fontsize=16,color="green",shape="box"];4188[label="gcd0Gcd'2 vuz259 vuz258",fontsize=16,color="black",shape="triangle"];4188 -> 4233[label="",style="solid", color="black", weight=3]; 5899[label="vuz345",fontsize=16,color="green",shape="box"];7514[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS (Succ vuz4540) vuz455)",fontsize=16,color="burlywood",shape="box"];8465[label="vuz455/Succ vuz4550",fontsize=10,color="white",style="solid",shape="box"];7514 -> 8465[label="",style="solid", color="burlywood", weight=9]; 8465 -> 7539[label="",style="solid", color="burlywood", weight=3]; 8466[label="vuz455/Zero",fontsize=10,color="white",style="solid",shape="box"];7514 -> 8466[label="",style="solid", color="burlywood", weight=9]; 8466 -> 7540[label="",style="solid", color="burlywood", weight=3]; 7515[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS Zero vuz455)",fontsize=16,color="burlywood",shape="box"];8467[label="vuz455/Succ vuz4550",fontsize=10,color="white",style="solid",shape="box"];7515 -> 8467[label="",style="solid", color="burlywood", weight=9]; 8467 -> 7541[label="",style="solid", color="burlywood", weight=3]; 8468[label="vuz455/Zero",fontsize=10,color="white",style="solid",shape="box"];7515 -> 8468[label="",style="solid", color="burlywood", weight=9]; 8468 -> 7542[label="",style="solid", color="burlywood", weight=3]; 5904 -> 5661[label="",style="dashed", color="red", weight=0]; 5904[label="primDivNatS (primMinusNatS (Succ vuz30100) Zero) (Succ Zero)",fontsize=16,color="magenta"];5904 -> 5959[label="",style="dashed", color="magenta", weight=3]; 5904 -> 5960[label="",style="dashed", color="magenta", weight=3]; 5905 -> 5661[label="",style="dashed", color="red", weight=0]; 5905[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];5905 -> 5961[label="",style="dashed", color="magenta", weight=3]; 5905 -> 5962[label="",style="dashed", color="magenta", weight=3]; 5906[label="primMulInt vuz326 (signum (Neg (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8469[label="vuz326/Pos vuz3260",fontsize=10,color="white",style="solid",shape="box"];5906 -> 8469[label="",style="solid", color="burlywood", weight=9]; 8469 -> 5963[label="",style="solid", color="burlywood", weight=3]; 8470[label="vuz326/Neg vuz3260",fontsize=10,color="white",style="solid",shape="box"];5906 -> 8470[label="",style="solid", color="burlywood", weight=9]; 8470 -> 5964[label="",style="solid", color="burlywood", weight=3]; 5907 -> 5831[label="",style="dashed", color="red", weight=0]; 5907[label="gcd0 (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5907 -> 5965[label="",style="dashed", color="magenta", weight=3]; 5907 -> 5966[label="",style="dashed", color="magenta", weight=3]; 5908 -> 5833[label="",style="dashed", color="red", weight=0]; 5908[label="gcd1 (Pos (Succ vuz900) == fromInt (Pos Zero)) (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5908 -> 5967[label="",style="dashed", color="magenta", weight=3]; 5908 -> 5968[label="",style="dashed", color="magenta", weight=3]; 5908 -> 5969[label="",style="dashed", color="magenta", weight=3]; 7079[label="signumReal3 (Neg Zero)",fontsize=16,color="black",shape="box"];7079 -> 7138[label="",style="solid", color="black", weight=3]; 7080[label="vuz421",fontsize=16,color="green",shape="box"];7081[label="Neg Zero",fontsize=16,color="green",shape="box"];7082[label="vuz422",fontsize=16,color="green",shape="box"];785[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];785 -> 851[label="",style="solid", color="black", weight=3]; 786[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];786 -> 852[label="",style="solid", color="black", weight=3]; 787[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (primCmpInt (Pos Zero) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (primCmpInt (Pos Zero) (Pos Zero) == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];787 -> 853[label="",style="solid", color="black", weight=3]; 788[label="Integer (Pos Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];788 -> 854[label="",style="solid", color="black", weight=3]; 789[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];789 -> 855[label="",style="solid", color="black", weight=3]; 790[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (primCmpInt (Neg Zero) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (primCmpInt (Neg Zero) (Pos Zero) == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];790 -> 856[label="",style="solid", color="black", weight=3]; 791[label="Integer (Neg Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];791 -> 857[label="",style="solid", color="black", weight=3]; 4758[label="primPlusNat (Succ vuz28500) (Succ vuz275000)",fontsize=16,color="black",shape="box"];4758 -> 4782[label="",style="solid", color="black", weight=3]; 4759[label="primPlusNat (Succ vuz28500) Zero",fontsize=16,color="black",shape="box"];4759 -> 4783[label="",style="solid", color="black", weight=3]; 4760[label="primPlusNat Zero (Succ vuz275000)",fontsize=16,color="black",shape="box"];4760 -> 4784[label="",style="solid", color="black", weight=3]; 4761[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];4761 -> 4785[label="",style="solid", color="black", weight=3]; 5909[label="Pos vuz325",fontsize=16,color="green",shape="box"];5910[label="vuz324",fontsize=16,color="green",shape="box"];5911 -> 5827[label="",style="dashed", color="red", weight=0]; 5911[label="gcd0 (Pos vuz325) vuz324",fontsize=16,color="magenta"];5912 -> 3082[label="",style="dashed", color="red", weight=0]; 5912[label="error []",fontsize=16,color="magenta"];6913[label="Succ Zero",fontsize=16,color="green",shape="box"];6914[label="vuz80",fontsize=16,color="green",shape="box"];6915[label="Pos Zero",fontsize=16,color="green",shape="box"];6916[label="Succ Zero",fontsize=16,color="green",shape="box"];6917[label="vuz80",fontsize=16,color="green",shape="box"];6918[label="Neg Zero",fontsize=16,color="green",shape="box"];7083[label="Neg vuz412",fontsize=16,color="green",shape="box"];7084[label="vuz411",fontsize=16,color="green",shape="box"];7085 -> 7012[label="",style="dashed", color="red", weight=0]; 7085[label="gcd0 (Neg vuz412) vuz411",fontsize=16,color="magenta"];7086 -> 3082[label="",style="dashed", color="red", weight=0]; 7086[label="error []",fontsize=16,color="magenta"];5680[label="Succ Zero",fontsize=16,color="green",shape="box"];5681[label="vuz80",fontsize=16,color="green",shape="box"];5682[label="Pos Zero",fontsize=16,color="green",shape="box"];5683[label="Succ Zero",fontsize=16,color="green",shape="box"];5684[label="vuz80",fontsize=16,color="green",shape="box"];5685[label="Neg Zero",fontsize=16,color="green",shape="box"];812[label="Integer (Pos (primMulNat (Succ vuz800) (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];812 -> 882[label="",style="solid", color="black", weight=3]; 813[label="Integer (Pos (primMulNat Zero (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat Zero (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat Zero (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];813 -> 883[label="",style="solid", color="black", weight=3]; 814[label="Integer (Neg (primMulNat (Succ vuz800) (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];814 -> 884[label="",style="solid", color="black", weight=3]; 815[label="Integer (Neg (primMulNat Zero (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat Zero (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat Zero (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];815 -> 885[label="",style="solid", color="black", weight=3]; 816[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];816 -> 886[label="",style="solid", color="black", weight=3]; 817[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];817 -> 887[label="",style="solid", color="black", weight=3]; 818[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];818 -> 888[label="",style="solid", color="black", weight=3]; 819[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];819 -> 889[label="",style="solid", color="black", weight=3]; 820 -> 3594[label="",style="dashed", color="red", weight=0]; 820[label="Integer (Neg (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="magenta"];820 -> 3595[label="",style="dashed", color="magenta", weight=3]; 820 -> 3596[label="",style="dashed", color="magenta", weight=3]; 820 -> 3597[label="",style="dashed", color="magenta", weight=3]; 821 -> 3690[label="",style="dashed", color="red", weight=0]; 821[label="Integer (Pos (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="magenta"];821 -> 3691[label="",style="dashed", color="magenta", weight=3]; 821 -> 3692[label="",style="dashed", color="magenta", weight=3]; 821 -> 3693[label="",style="dashed", color="magenta", weight=3]; 822[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];822 -> 894[label="",style="solid", color="black", weight=3]; 823[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];823 -> 895[label="",style="solid", color="black", weight=3]; 824[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];824 -> 896[label="",style="solid", color="black", weight=3]; 825[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];825 -> 897[label="",style="solid", color="black", weight=3]; 6133[label="signumReal3 (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];6133 -> 6139[label="",style="solid", color="black", weight=3]; 5948[label="vuz348",fontsize=16,color="green",shape="box"];5949[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];5950[label="vuz349",fontsize=16,color="green",shape="box"];6136 -> 6166[label="",style="dashed", color="red", weight=0]; 6136[label="signumReal2 (Pos Zero) (Pos Zero == fromInt (Pos Zero))",fontsize=16,color="magenta"];6136 -> 6167[label="",style="dashed", color="magenta", weight=3]; 6137[label="Pos (primMulNat vuz3220 vuz3740)",fontsize=16,color="green",shape="box"];6137 -> 6170[label="",style="dashed", color="green", weight=3]; 6138[label="Neg (primMulNat vuz3220 vuz3740)",fontsize=16,color="green",shape="box"];6138 -> 6171[label="",style="dashed", color="green", weight=3]; 6168[label="Neg (primMulNat vuz3220 vuz3760)",fontsize=16,color="green",shape="box"];6168 -> 6174[label="",style="dashed", color="green", weight=3]; 6169[label="Pos (primMulNat vuz3220 vuz3760)",fontsize=16,color="green",shape="box"];6169 -> 6175[label="",style="dashed", color="green", weight=3]; 4233 -> 4338[label="",style="dashed", color="red", weight=0]; 4233[label="gcd0Gcd'1 (vuz258 == fromInt (Pos Zero)) vuz259 vuz258",fontsize=16,color="magenta"];4233 -> 4339[label="",style="dashed", color="magenta", weight=3]; 7539[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS (Succ vuz4540) (Succ vuz4550))",fontsize=16,color="black",shape="box"];7539 -> 7568[label="",style="solid", color="black", weight=3]; 7540[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS (Succ vuz4540) Zero)",fontsize=16,color="black",shape="box"];7540 -> 7569[label="",style="solid", color="black", weight=3]; 7541[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS Zero (Succ vuz4550))",fontsize=16,color="black",shape="box"];7541 -> 7570[label="",style="solid", color="black", weight=3]; 7542[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];7542 -> 7571[label="",style="solid", color="black", weight=3]; 5959[label="Zero",fontsize=16,color="green",shape="box"];5960[label="primMinusNatS (Succ vuz30100) Zero",fontsize=16,color="black",shape="triangle"];5960 -> 5985[label="",style="solid", color="black", weight=3]; 5961[label="Zero",fontsize=16,color="green",shape="box"];5962[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];5962 -> 5986[label="",style="solid", color="black", weight=3]; 5963[label="primMulInt (Pos vuz3260) (signum (Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];5963 -> 5987[label="",style="solid", color="black", weight=3]; 5964[label="primMulInt (Neg vuz3260) (signum (Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];5964 -> 5988[label="",style="solid", color="black", weight=3]; 5965[label="vuz900",fontsize=16,color="green",shape="box"];5966 -> 5868[label="",style="dashed", color="red", weight=0]; 5966[label="vuz326 * signum (Neg (Succ vuz900))",fontsize=16,color="magenta"];5967 -> 5868[label="",style="dashed", color="red", weight=0]; 5967[label="vuz326 * signum (Neg (Succ vuz900))",fontsize=16,color="magenta"];5968[label="vuz900",fontsize=16,color="green",shape="box"];5969 -> 2582[label="",style="dashed", color="red", weight=0]; 5969[label="Pos (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5969 -> 5989[label="",style="dashed", color="magenta", weight=3]; 7138 -> 7172[label="",style="dashed", color="red", weight=0]; 7138[label="signumReal2 (Neg Zero) (Neg Zero == fromInt (Pos Zero))",fontsize=16,color="magenta"];7138 -> 7173[label="",style="dashed", color="magenta", weight=3]; 851[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];851 -> 913[label="",style="solid", color="black", weight=3]; 852[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];852 -> 914[label="",style="solid", color="black", weight=3]; 853[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (EQ == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (EQ == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];853 -> 915[label="",style="solid", color="black", weight=3]; 854[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8471[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];854 -> 8471[label="",style="solid", color="burlywood", weight=9]; 8471 -> 916[label="",style="solid", color="burlywood", weight=3]; 8472[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];854 -> 8472[label="",style="solid", color="burlywood", weight=9]; 8472 -> 917[label="",style="solid", color="burlywood", weight=3]; 855[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];855 -> 918[label="",style="solid", color="black", weight=3]; 856[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (EQ == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (EQ == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];856 -> 919[label="",style="solid", color="black", weight=3]; 857[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8473[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];857 -> 8473[label="",style="solid", color="burlywood", weight=9]; 8473 -> 920[label="",style="solid", color="burlywood", weight=3]; 8474[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];857 -> 8474[label="",style="solid", color="burlywood", weight=9]; 8474 -> 921[label="",style="solid", color="burlywood", weight=3]; 4782[label="Succ (Succ (primPlusNat vuz28500 vuz275000))",fontsize=16,color="green",shape="box"];4782 -> 4856[label="",style="dashed", color="green", weight=3]; 4783[label="Succ vuz28500",fontsize=16,color="green",shape="box"];4784[label="Succ vuz275000",fontsize=16,color="green",shape="box"];4785[label="Zero",fontsize=16,color="green",shape="box"];882 -> 3366[label="",style="dashed", color="red", weight=0]; 882[label="Integer (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)) (Integer (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];882 -> 3367[label="",style="dashed", color="magenta", weight=3]; 882 -> 3368[label="",style="dashed", color="magenta", weight=3]; 882 -> 3369[label="",style="dashed", color="magenta", weight=3]; 883 -> 952[label="",style="dashed", color="red", weight=0]; 883[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];883 -> 953[label="",style="dashed", color="magenta", weight=3]; 884 -> 3461[label="",style="dashed", color="red", weight=0]; 884[label="Integer (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)) (Integer (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];884 -> 3462[label="",style="dashed", color="magenta", weight=3]; 884 -> 3463[label="",style="dashed", color="magenta", weight=3]; 884 -> 3464[label="",style="dashed", color="magenta", weight=3]; 885 -> 956[label="",style="dashed", color="red", weight=0]; 885[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];885 -> 957[label="",style="dashed", color="magenta", weight=3]; 886[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];886 -> 958[label="",style="solid", color="black", weight=3]; 887[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];887 -> 959[label="",style="solid", color="black", weight=3]; 888[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];888 -> 960[label="",style="solid", color="black", weight=3]; 889[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];889 -> 961[label="",style="solid", color="black", weight=3]; 3595 -> 2647[label="",style="dashed", color="red", weight=0]; 3595[label="primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3595 -> 3676[label="",style="dashed", color="magenta", weight=3]; 3595 -> 3677[label="",style="dashed", color="magenta", weight=3]; 3596 -> 3367[label="",style="dashed", color="red", weight=0]; 3596[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3596 -> 3678[label="",style="dashed", color="magenta", weight=3]; 3597 -> 3367[label="",style="dashed", color="red", weight=0]; 3597[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3597 -> 3679[label="",style="dashed", color="magenta", weight=3]; 3594[label="Integer (Neg vuz216) `quot` gcd2 vuz215 (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8475[label="vuz215/False",fontsize=10,color="white",style="solid",shape="box"];3594 -> 8475[label="",style="solid", color="burlywood", weight=9]; 8475 -> 3680[label="",style="solid", color="burlywood", weight=3]; 8476[label="vuz215/True",fontsize=10,color="white",style="solid",shape="box"];3594 -> 8476[label="",style="solid", color="burlywood", weight=9]; 8476 -> 3681[label="",style="solid", color="burlywood", weight=3]; 3691 -> 3367[label="",style="dashed", color="red", weight=0]; 3691[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3691 -> 3771[label="",style="dashed", color="magenta", weight=3]; 3692 -> 3367[label="",style="dashed", color="red", weight=0]; 3692[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3692 -> 3772[label="",style="dashed", color="magenta", weight=3]; 3693 -> 2647[label="",style="dashed", color="red", weight=0]; 3693[label="primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3693 -> 3773[label="",style="dashed", color="magenta", weight=3]; 3693 -> 3774[label="",style="dashed", color="magenta", weight=3]; 3690[label="Integer (Pos vuz226) `quot` gcd2 vuz225 (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8477[label="vuz225/False",fontsize=10,color="white",style="solid",shape="box"];3690 -> 8477[label="",style="solid", color="burlywood", weight=9]; 8477 -> 3775[label="",style="solid", color="burlywood", weight=3]; 8478[label="vuz225/True",fontsize=10,color="white",style="solid",shape="box"];3690 -> 8478[label="",style="solid", color="burlywood", weight=9]; 8478 -> 3776[label="",style="solid", color="burlywood", weight=3]; 894[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];894 -> 966[label="",style="solid", color="black", weight=3]; 895[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];895 -> 967[label="",style="solid", color="black", weight=3]; 896[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];896 -> 968[label="",style="solid", color="black", weight=3]; 897[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];897 -> 969[label="",style="solid", color="black", weight=3]; 6139 -> 6172[label="",style="dashed", color="red", weight=0]; 6139[label="signumReal2 (Pos (Succ vuz900)) (Pos (Succ vuz900) == fromInt (Pos Zero))",fontsize=16,color="magenta"];6139 -> 6173[label="",style="dashed", color="magenta", weight=3]; 6167 -> 2582[label="",style="dashed", color="red", weight=0]; 6167[label="Pos Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];6167 -> 6176[label="",style="dashed", color="magenta", weight=3]; 6166[label="signumReal2 (Pos Zero) vuz377",fontsize=16,color="burlywood",shape="triangle"];8479[label="vuz377/False",fontsize=10,color="white",style="solid",shape="box"];6166 -> 8479[label="",style="solid", color="burlywood", weight=9]; 8479 -> 6177[label="",style="solid", color="burlywood", weight=3]; 8480[label="vuz377/True",fontsize=10,color="white",style="solid",shape="box"];6166 -> 8480[label="",style="solid", color="burlywood", weight=9]; 8480 -> 6178[label="",style="solid", color="burlywood", weight=3]; 6170 -> 4436[label="",style="dashed", color="red", weight=0]; 6170[label="primMulNat vuz3220 vuz3740",fontsize=16,color="magenta"];6170 -> 6179[label="",style="dashed", color="magenta", weight=3]; 6170 -> 6180[label="",style="dashed", color="magenta", weight=3]; 6171 -> 4436[label="",style="dashed", color="red", weight=0]; 6171[label="primMulNat vuz3220 vuz3740",fontsize=16,color="magenta"];6171 -> 6181[label="",style="dashed", color="magenta", weight=3]; 6171 -> 6182[label="",style="dashed", color="magenta", weight=3]; 6174 -> 4436[label="",style="dashed", color="red", weight=0]; 6174[label="primMulNat vuz3220 vuz3760",fontsize=16,color="magenta"];6174 -> 6256[label="",style="dashed", color="magenta", weight=3]; 6174 -> 6257[label="",style="dashed", color="magenta", weight=3]; 6175 -> 4436[label="",style="dashed", color="red", weight=0]; 6175[label="primMulNat vuz3220 vuz3760",fontsize=16,color="magenta"];6175 -> 6258[label="",style="dashed", color="magenta", weight=3]; 6175 -> 6259[label="",style="dashed", color="magenta", weight=3]; 4339 -> 2582[label="",style="dashed", color="red", weight=0]; 4339[label="vuz258 == fromInt (Pos Zero)",fontsize=16,color="magenta"];4339 -> 4360[label="",style="dashed", color="magenta", weight=3]; 4338[label="gcd0Gcd'1 vuz270 vuz259 vuz258",fontsize=16,color="burlywood",shape="triangle"];8481[label="vuz270/False",fontsize=10,color="white",style="solid",shape="box"];4338 -> 8481[label="",style="solid", color="burlywood", weight=9]; 8481 -> 4361[label="",style="solid", color="burlywood", weight=3]; 8482[label="vuz270/True",fontsize=10,color="white",style="solid",shape="box"];4338 -> 8482[label="",style="solid", color="burlywood", weight=9]; 8482 -> 4362[label="",style="solid", color="burlywood", weight=3]; 7568 -> 7477[label="",style="dashed", color="red", weight=0]; 7568[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS vuz4540 vuz4550)",fontsize=16,color="magenta"];7568 -> 7608[label="",style="dashed", color="magenta", weight=3]; 7568 -> 7609[label="",style="dashed", color="magenta", weight=3]; 7569[label="primDivNatS0 (Succ vuz452) (Succ vuz453) True",fontsize=16,color="black",shape="triangle"];7569 -> 7610[label="",style="solid", color="black", weight=3]; 7570[label="primDivNatS0 (Succ vuz452) (Succ vuz453) False",fontsize=16,color="black",shape="box"];7570 -> 7611[label="",style="solid", color="black", weight=3]; 7571 -> 7569[label="",style="dashed", color="red", weight=0]; 7571[label="primDivNatS0 (Succ vuz452) (Succ vuz453) True",fontsize=16,color="magenta"];5985[label="Succ vuz30100",fontsize=16,color="green",shape="box"];5986[label="Zero",fontsize=16,color="green",shape="box"];5987 -> 6106[label="",style="dashed", color="red", weight=0]; 5987[label="primMulInt (Pos vuz3260) (signumReal (Neg (Succ vuz900)))",fontsize=16,color="magenta"];5987 -> 6119[label="",style="dashed", color="magenta", weight=3]; 5987 -> 6120[label="",style="dashed", color="magenta", weight=3]; 5988 -> 6140[label="",style="dashed", color="red", weight=0]; 5988[label="primMulInt (Neg vuz3260) (signumReal (Neg (Succ vuz900)))",fontsize=16,color="magenta"];5988 -> 6153[label="",style="dashed", color="magenta", weight=3]; 5988 -> 6154[label="",style="dashed", color="magenta", weight=3]; 5989[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];7173 -> 2582[label="",style="dashed", color="red", weight=0]; 7173[label="Neg Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];7173 -> 7174[label="",style="dashed", color="magenta", weight=3]; 7172[label="signumReal2 (Neg Zero) vuz429",fontsize=16,color="burlywood",shape="triangle"];8483[label="vuz429/False",fontsize=10,color="white",style="solid",shape="box"];7172 -> 8483[label="",style="solid", color="burlywood", weight=9]; 8483 -> 7175[label="",style="solid", color="burlywood", weight=3]; 8484[label="vuz429/True",fontsize=10,color="white",style="solid",shape="box"];7172 -> 8484[label="",style="solid", color="burlywood", weight=9]; 8484 -> 7176[label="",style="solid", color="burlywood", weight=3]; 913[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];913 -> 984[label="",style="solid", color="black", weight=3]; 914[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8485[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];914 -> 8485[label="",style="solid", color="burlywood", weight=9]; 8485 -> 985[label="",style="solid", color="burlywood", weight=3]; 8486[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];914 -> 8486[label="",style="solid", color="burlywood", weight=9]; 8486 -> 986[label="",style="solid", color="burlywood", weight=3]; 915[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) False) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];915 -> 987[label="",style="solid", color="black", weight=3]; 916[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];916 -> 988[label="",style="solid", color="black", weight=3]; 917[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];917 -> 989[label="",style="solid", color="black", weight=3]; 918[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];918 -> 990[label="",style="solid", color="black", weight=3]; 919[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) False) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];919 -> 991[label="",style="solid", color="black", weight=3]; 920[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];920 -> 992[label="",style="solid", color="black", weight=3]; 921[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];921 -> 993[label="",style="solid", color="black", weight=3]; 4856 -> 4682[label="",style="dashed", color="red", weight=0]; 4856[label="primPlusNat vuz28500 vuz275000",fontsize=16,color="magenta"];4856 -> 5397[label="",style="dashed", color="magenta", weight=3]; 4856 -> 5398[label="",style="dashed", color="magenta", weight=3]; 3367[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="burlywood",shape="triangle"];8487[label="vuz800/Succ vuz8000",fontsize=10,color="white",style="solid",shape="box"];3367 -> 8487[label="",style="solid", color="burlywood", weight=9]; 8487 -> 3385[label="",style="solid", color="burlywood", weight=3]; 8488[label="vuz800/Zero",fontsize=10,color="white",style="solid",shape="box"];3367 -> 8488[label="",style="solid", color="burlywood", weight=9]; 8488 -> 3386[label="",style="solid", color="burlywood", weight=3]; 3368 -> 2647[label="",style="dashed", color="red", weight=0]; 3368[label="primEqInt (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3368 -> 3387[label="",style="dashed", color="magenta", weight=3]; 3368 -> 3388[label="",style="dashed", color="magenta", weight=3]; 3369[label="vuz900",fontsize=16,color="green",shape="box"];3366[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd2 vuz197 (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="burlywood",shape="triangle"];8489[label="vuz197/False",fontsize=10,color="white",style="solid",shape="box"];3366 -> 8489[label="",style="solid", color="burlywood", weight=9]; 8489 -> 3389[label="",style="solid", color="burlywood", weight=3]; 8490[label="vuz197/True",fontsize=10,color="white",style="solid",shape="box"];3366 -> 8490[label="",style="solid", color="burlywood", weight=9]; 8490 -> 3390[label="",style="solid", color="burlywood", weight=3]; 953 -> 2647[label="",style="dashed", color="red", weight=0]; 953[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];953 -> 2733[label="",style="dashed", color="magenta", weight=3]; 953 -> 2734[label="",style="dashed", color="magenta", weight=3]; 952[label="Integer (Pos Zero) `quot` gcd2 vuz51 (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8491[label="vuz51/False",fontsize=10,color="white",style="solid",shape="box"];952 -> 8491[label="",style="solid", color="burlywood", weight=9]; 8491 -> 1030[label="",style="solid", color="burlywood", weight=3]; 8492[label="vuz51/True",fontsize=10,color="white",style="solid",shape="box"];952 -> 8492[label="",style="solid", color="burlywood", weight=9]; 8492 -> 1031[label="",style="solid", color="burlywood", weight=3]; 3462 -> 3367[label="",style="dashed", color="red", weight=0]; 3462[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="magenta"];3462 -> 3478[label="",style="dashed", color="magenta", weight=3]; 3463 -> 2647[label="",style="dashed", color="red", weight=0]; 3463[label="primEqInt (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3463 -> 3479[label="",style="dashed", color="magenta", weight=3]; 3463 -> 3480[label="",style="dashed", color="magenta", weight=3]; 3464[label="vuz900",fontsize=16,color="green",shape="box"];3461[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd2 vuz205 (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="burlywood",shape="triangle"];8493[label="vuz205/False",fontsize=10,color="white",style="solid",shape="box"];3461 -> 8493[label="",style="solid", color="burlywood", weight=9]; 8493 -> 3481[label="",style="solid", color="burlywood", weight=3]; 8494[label="vuz205/True",fontsize=10,color="white",style="solid",shape="box"];3461 -> 8494[label="",style="solid", color="burlywood", weight=9]; 8494 -> 3482[label="",style="solid", color="burlywood", weight=3]; 957 -> 2647[label="",style="dashed", color="red", weight=0]; 957[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];957 -> 2735[label="",style="dashed", color="magenta", weight=3]; 957 -> 2736[label="",style="dashed", color="magenta", weight=3]; 956[label="Integer (Neg Zero) `quot` gcd2 vuz52 (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8495[label="vuz52/False",fontsize=10,color="white",style="solid",shape="box"];956 -> 8495[label="",style="solid", color="burlywood", weight=9]; 8495 -> 1034[label="",style="solid", color="burlywood", weight=3]; 8496[label="vuz52/True",fontsize=10,color="white",style="solid",shape="box"];956 -> 8496[label="",style="solid", color="burlywood", weight=9]; 8496 -> 1035[label="",style="solid", color="burlywood", weight=3]; 958[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];958 -> 1036[label="",style="solid", color="black", weight=3]; 959 -> 1037[label="",style="dashed", color="red", weight=0]; 959[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];959 -> 1038[label="",style="dashed", color="magenta", weight=3]; 960[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];960 -> 1039[label="",style="solid", color="black", weight=3]; 961 -> 1040[label="",style="dashed", color="red", weight=0]; 961[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];961 -> 1041[label="",style="dashed", color="magenta", weight=3]; 3676[label="Pos Zero",fontsize=16,color="green",shape="box"];3677[label="Neg (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];3677 -> 3777[label="",style="dashed", color="green", weight=3]; 3678[label="vuz80",fontsize=16,color="green",shape="box"];3679[label="vuz80",fontsize=16,color="green",shape="box"];3680[label="Integer (Neg vuz216) `quot` gcd2 False (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3680 -> 3778[label="",style="solid", color="black", weight=3]; 3681[label="Integer (Neg vuz216) `quot` gcd2 True (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3681 -> 3779[label="",style="solid", color="black", weight=3]; 3771[label="vuz80",fontsize=16,color="green",shape="box"];3772[label="vuz80",fontsize=16,color="green",shape="box"];3773[label="Pos Zero",fontsize=16,color="green",shape="box"];3774[label="Pos (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];3774 -> 4061[label="",style="dashed", color="green", weight=3]; 3775[label="Integer (Pos vuz226) `quot` gcd2 False (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3775 -> 4062[label="",style="solid", color="black", weight=3]; 3776[label="Integer (Pos vuz226) `quot` gcd2 True (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3776 -> 4063[label="",style="solid", color="black", weight=3]; 966[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];966 -> 1050[label="",style="solid", color="black", weight=3]; 967 -> 1051[label="",style="dashed", color="red", weight=0]; 967[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];967 -> 1052[label="",style="dashed", color="magenta", weight=3]; 968[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];968 -> 1053[label="",style="solid", color="black", weight=3]; 969 -> 1054[label="",style="dashed", color="red", weight=0]; 969[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];969 -> 1055[label="",style="dashed", color="magenta", weight=3]; 6173 -> 2582[label="",style="dashed", color="red", weight=0]; 6173[label="Pos (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6173 -> 6183[label="",style="dashed", color="magenta", weight=3]; 6172[label="signumReal2 (Pos (Succ vuz900)) vuz379",fontsize=16,color="burlywood",shape="triangle"];8497[label="vuz379/False",fontsize=10,color="white",style="solid",shape="box"];6172 -> 8497[label="",style="solid", color="burlywood", weight=9]; 8497 -> 6184[label="",style="solid", color="burlywood", weight=3]; 8498[label="vuz379/True",fontsize=10,color="white",style="solid",shape="box"];6172 -> 8498[label="",style="solid", color="burlywood", weight=9]; 8498 -> 6185[label="",style="solid", color="burlywood", weight=3]; 6176[label="Pos Zero",fontsize=16,color="green",shape="box"];6177[label="signumReal2 (Pos Zero) False",fontsize=16,color="black",shape="box"];6177 -> 6260[label="",style="solid", color="black", weight=3]; 6178[label="signumReal2 (Pos Zero) True",fontsize=16,color="black",shape="box"];6178 -> 6261[label="",style="solid", color="black", weight=3]; 6179[label="vuz3740",fontsize=16,color="green",shape="box"];6180[label="vuz3220",fontsize=16,color="green",shape="box"];6181[label="vuz3740",fontsize=16,color="green",shape="box"];6182[label="vuz3220",fontsize=16,color="green",shape="box"];6256[label="vuz3760",fontsize=16,color="green",shape="box"];6257[label="vuz3220",fontsize=16,color="green",shape="box"];6258[label="vuz3760",fontsize=16,color="green",shape="box"];6259[label="vuz3220",fontsize=16,color="green",shape="box"];4360[label="vuz258",fontsize=16,color="green",shape="box"];4361[label="gcd0Gcd'1 False vuz259 vuz258",fontsize=16,color="black",shape="box"];4361 -> 4441[label="",style="solid", color="black", weight=3]; 4362[label="gcd0Gcd'1 True vuz259 vuz258",fontsize=16,color="black",shape="box"];4362 -> 4442[label="",style="solid", color="black", weight=3]; 7608[label="vuz4550",fontsize=16,color="green",shape="box"];7609[label="vuz4540",fontsize=16,color="green",shape="box"];7610[label="Succ (primDivNatS (primMinusNatS (Succ vuz452) (Succ vuz453)) (Succ (Succ vuz453)))",fontsize=16,color="green",shape="box"];7610 -> 7640[label="",style="dashed", color="green", weight=3]; 7611[label="Zero",fontsize=16,color="green",shape="box"];6119[label="vuz3260",fontsize=16,color="green",shape="box"];6120[label="signumReal (Neg (Succ vuz900))",fontsize=16,color="black",shape="triangle"];6120 -> 6194[label="",style="solid", color="black", weight=3]; 6153 -> 6120[label="",style="dashed", color="red", weight=0]; 6153[label="signumReal (Neg (Succ vuz900))",fontsize=16,color="magenta"];6154[label="vuz3260",fontsize=16,color="green",shape="box"];7174[label="Neg Zero",fontsize=16,color="green",shape="box"];7175[label="signumReal2 (Neg Zero) False",fontsize=16,color="black",shape="box"];7175 -> 7207[label="",style="solid", color="black", weight=3]; 7176[label="signumReal2 (Neg Zero) True",fontsize=16,color="black",shape="box"];7176 -> 7208[label="",style="solid", color="black", weight=3]; 984[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];984 -> 1074[label="",style="solid", color="black", weight=3]; 985[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];985 -> 1075[label="",style="solid", color="black", weight=3]; 986[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];986 -> 1076[label="",style="solid", color="black", weight=3]; 987[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Pos Zero)) otherwise == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Pos Zero)) otherwise) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];987 -> 1077[label="",style="solid", color="black", weight=3]; 988[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8499[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];988 -> 8499[label="",style="solid", color="burlywood", weight=9]; 8499 -> 1078[label="",style="solid", color="burlywood", weight=3]; 8500[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];988 -> 8500[label="",style="solid", color="burlywood", weight=9]; 8500 -> 1079[label="",style="solid", color="burlywood", weight=3]; 989[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8501[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];989 -> 8501[label="",style="solid", color="burlywood", weight=9]; 8501 -> 1080[label="",style="solid", color="burlywood", weight=3]; 8502[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];989 -> 8502[label="",style="solid", color="burlywood", weight=9]; 8502 -> 1081[label="",style="solid", color="burlywood", weight=3]; 990[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];990 -> 1082[label="",style="solid", color="black", weight=3]; 991[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg Zero)) otherwise == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg Zero)) otherwise) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];991 -> 1083[label="",style="solid", color="black", weight=3]; 992[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8503[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];992 -> 8503[label="",style="solid", color="burlywood", weight=9]; 8503 -> 1084[label="",style="solid", color="burlywood", weight=3]; 8504[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];992 -> 8504[label="",style="solid", color="burlywood", weight=9]; 8504 -> 1085[label="",style="solid", color="burlywood", weight=3]; 993[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8505[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];993 -> 8505[label="",style="solid", color="burlywood", weight=9]; 8505 -> 1086[label="",style="solid", color="burlywood", weight=3]; 8506[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];993 -> 8506[label="",style="solid", color="burlywood", weight=9]; 8506 -> 1087[label="",style="solid", color="burlywood", weight=3]; 5397[label="vuz28500",fontsize=16,color="green",shape="box"];5398[label="vuz275000",fontsize=16,color="green",shape="box"];3385[label="primMulNat (Succ vuz8000) (Succ Zero)",fontsize=16,color="black",shape="box"];3385 -> 3410[label="",style="solid", color="black", weight=3]; 3386[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];3386 -> 3411[label="",style="solid", color="black", weight=3]; 3387[label="Pos Zero",fontsize=16,color="green",shape="box"];3388[label="Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))",fontsize=16,color="green",shape="box"];3388 -> 3412[label="",style="dashed", color="green", weight=3]; 3389[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd2 False (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3389 -> 3413[label="",style="solid", color="black", weight=3]; 3390[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd2 True (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3390 -> 3414[label="",style="solid", color="black", weight=3]; 2733[label="Pos Zero",fontsize=16,color="green",shape="box"];2734[label="Pos Zero",fontsize=16,color="green",shape="box"];1030[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1030 -> 1127[label="",style="solid", color="black", weight=3]; 1031[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1031 -> 1128[label="",style="solid", color="black", weight=3]; 3478[label="vuz800",fontsize=16,color="green",shape="box"];3479[label="Pos Zero",fontsize=16,color="green",shape="box"];3480[label="Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))",fontsize=16,color="green",shape="box"];3480 -> 3497[label="",style="dashed", color="green", weight=3]; 3481[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd2 False (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3481 -> 3498[label="",style="solid", color="black", weight=3]; 3482[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd2 True (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3482 -> 3499[label="",style="solid", color="black", weight=3]; 2735[label="Pos Zero",fontsize=16,color="green",shape="box"];2736[label="Neg Zero",fontsize=16,color="green",shape="box"];1034[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1034 -> 1132[label="",style="solid", color="black", weight=3]; 1035[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1035 -> 1133[label="",style="solid", color="black", weight=3]; 1036[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1036 -> 1134[label="",style="solid", color="black", weight=3]; 1038 -> 47[label="",style="dashed", color="red", weight=0]; 1038[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1038 -> 1135[label="",style="dashed", color="magenta", weight=3]; 1037[label="Integer (Pos Zero) `quot` gcd1 vuz55 (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8507[label="vuz55/False",fontsize=10,color="white",style="solid",shape="box"];1037 -> 8507[label="",style="solid", color="burlywood", weight=9]; 8507 -> 1136[label="",style="solid", color="burlywood", weight=3]; 8508[label="vuz55/True",fontsize=10,color="white",style="solid",shape="box"];1037 -> 8508[label="",style="solid", color="burlywood", weight=9]; 8508 -> 1137[label="",style="solid", color="burlywood", weight=3]; 1039[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1039 -> 1138[label="",style="solid", color="black", weight=3]; 1041 -> 47[label="",style="dashed", color="red", weight=0]; 1041[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1041 -> 1139[label="",style="dashed", color="magenta", weight=3]; 1040[label="Integer (Neg Zero) `quot` gcd1 vuz56 (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8509[label="vuz56/False",fontsize=10,color="white",style="solid",shape="box"];1040 -> 8509[label="",style="solid", color="burlywood", weight=9]; 8509 -> 1140[label="",style="solid", color="burlywood", weight=3]; 8510[label="vuz56/True",fontsize=10,color="white",style="solid",shape="box"];1040 -> 8510[label="",style="solid", color="burlywood", weight=9]; 8510 -> 1141[label="",style="solid", color="burlywood", weight=3]; 3777 -> 3367[label="",style="dashed", color="red", weight=0]; 3777[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3777 -> 4064[label="",style="dashed", color="magenta", weight=3]; 3778[label="Integer (Neg vuz216) `quot` gcd0 (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3778 -> 4065[label="",style="solid", color="black", weight=3]; 3779[label="Integer (Neg vuz216) `quot` gcd1 (abs (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3779 -> 4066[label="",style="solid", color="black", weight=3]; 4061 -> 3367[label="",style="dashed", color="red", weight=0]; 4061[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];4061 -> 4121[label="",style="dashed", color="magenta", weight=3]; 4062[label="Integer (Pos vuz226) `quot` gcd0 (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4062 -> 4122[label="",style="solid", color="black", weight=3]; 4063[label="Integer (Pos vuz226) `quot` gcd1 (abs (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4063 -> 4123[label="",style="solid", color="black", weight=3]; 1050[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1050 -> 1150[label="",style="solid", color="black", weight=3]; 1052 -> 47[label="",style="dashed", color="red", weight=0]; 1052[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1052 -> 1151[label="",style="dashed", color="magenta", weight=3]; 1051[label="Integer (Pos Zero) `quot` gcd1 vuz59 (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8511[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];1051 -> 8511[label="",style="solid", color="burlywood", weight=9]; 8511 -> 1152[label="",style="solid", color="burlywood", weight=3]; 8512[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];1051 -> 8512[label="",style="solid", color="burlywood", weight=9]; 8512 -> 1153[label="",style="solid", color="burlywood", weight=3]; 1053[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1053 -> 1154[label="",style="solid", color="black", weight=3]; 1055 -> 47[label="",style="dashed", color="red", weight=0]; 1055[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1055 -> 1155[label="",style="dashed", color="magenta", weight=3]; 1054[label="Integer (Neg Zero) `quot` gcd1 vuz60 (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8513[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];1054 -> 8513[label="",style="solid", color="burlywood", weight=9]; 8513 -> 1156[label="",style="solid", color="burlywood", weight=3]; 8514[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];1054 -> 8514[label="",style="solid", color="burlywood", weight=9]; 8514 -> 1157[label="",style="solid", color="burlywood", weight=3]; 6183[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6184[label="signumReal2 (Pos (Succ vuz900)) False",fontsize=16,color="black",shape="box"];6184 -> 6262[label="",style="solid", color="black", weight=3]; 6185[label="signumReal2 (Pos (Succ vuz900)) True",fontsize=16,color="black",shape="box"];6185 -> 6263[label="",style="solid", color="black", weight=3]; 6260 -> 6919[label="",style="dashed", color="red", weight=0]; 6260[label="signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero))",fontsize=16,color="magenta"];6260 -> 6920[label="",style="dashed", color="magenta", weight=3]; 6261 -> 2609[label="",style="dashed", color="red", weight=0]; 6261[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6261 -> 6927[label="",style="dashed", color="magenta", weight=3]; 4441[label="gcd0Gcd'0 vuz259 vuz258",fontsize=16,color="black",shape="box"];4441 -> 4495[label="",style="solid", color="black", weight=3]; 4442[label="vuz259",fontsize=16,color="green",shape="box"];7640 -> 5661[label="",style="dashed", color="red", weight=0]; 7640[label="primDivNatS (primMinusNatS (Succ vuz452) (Succ vuz453)) (Succ (Succ vuz453))",fontsize=16,color="magenta"];7640 -> 7667[label="",style="dashed", color="magenta", weight=3]; 7640 -> 7668[label="",style="dashed", color="magenta", weight=3]; 6194[label="signumReal3 (Neg (Succ vuz900))",fontsize=16,color="black",shape="box"];6194 -> 6271[label="",style="solid", color="black", weight=3]; 7207 -> 7242[label="",style="dashed", color="red", weight=0]; 7207[label="signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero))",fontsize=16,color="magenta"];7207 -> 7243[label="",style="dashed", color="magenta", weight=3]; 7208 -> 2609[label="",style="dashed", color="red", weight=0]; 7208[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7208 -> 7244[label="",style="dashed", color="magenta", weight=3]; 1074[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1074 -> 1178[label="",style="solid", color="black", weight=3]; 1075 -> 5797[label="",style="dashed", color="red", weight=0]; 1075[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];1075 -> 5798[label="",style="dashed", color="magenta", weight=3]; 1075 -> 5799[label="",style="dashed", color="magenta", weight=3]; 1076 -> 5931[label="",style="dashed", color="red", weight=0]; 1076[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];1076 -> 5932[label="",style="dashed", color="magenta", weight=3]; 1076 -> 5933[label="",style="dashed", color="magenta", weight=3]; 1077[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Pos Zero)) True) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1077 -> 1183[label="",style="solid", color="black", weight=3]; 1078[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1078 -> 1184[label="",style="solid", color="black", weight=3]; 1079[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1079 -> 1185[label="",style="solid", color="black", weight=3]; 1080[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1080 -> 1186[label="",style="solid", color="black", weight=3]; 1081[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1081 -> 1187[label="",style="solid", color="black", weight=3]; 1082[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1082 -> 1188[label="",style="solid", color="black", weight=3]; 1083[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg Zero)) True) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1083 -> 1189[label="",style="solid", color="black", weight=3]; 1084[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1084 -> 1190[label="",style="solid", color="black", weight=3]; 1085[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1085 -> 1191[label="",style="solid", color="black", weight=3]; 1086[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1086 -> 1192[label="",style="solid", color="black", weight=3]; 1087[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1087 -> 1193[label="",style="solid", color="black", weight=3]; 3410 -> 4551[label="",style="dashed", color="red", weight=0]; 3410[label="primPlusNat (primMulNat vuz8000 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];3410 -> 4552[label="",style="dashed", color="magenta", weight=3]; 3410 -> 4553[label="",style="dashed", color="magenta", weight=3]; 3411[label="Zero",fontsize=16,color="green",shape="box"];3412 -> 4551[label="",style="dashed", color="red", weight=0]; 3412[label="primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];3412 -> 4554[label="",style="dashed", color="magenta", weight=3]; 3412 -> 4555[label="",style="dashed", color="magenta", weight=3]; 3413 -> 3500[label="",style="dashed", color="red", weight=0]; 3413[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd0 (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="magenta"];3413 -> 3501[label="",style="dashed", color="magenta", weight=3]; 3413 -> 3502[label="",style="dashed", color="magenta", weight=3]; 3414 -> 3518[label="",style="dashed", color="red", weight=0]; 3414[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd1 (abs (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="magenta"];3414 -> 3519[label="",style="dashed", color="magenta", weight=3]; 3414 -> 3520[label="",style="dashed", color="magenta", weight=3]; 1127 -> 3500[label="",style="dashed", color="red", weight=0]; 1127[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1127 -> 3503[label="",style="dashed", color="magenta", weight=3]; 1127 -> 3504[label="",style="dashed", color="magenta", weight=3]; 1127 -> 3505[label="",style="dashed", color="magenta", weight=3]; 1128 -> 3518[label="",style="dashed", color="red", weight=0]; 1128[label="Integer (Pos Zero) `quot` gcd1 (abs (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1128 -> 3521[label="",style="dashed", color="magenta", weight=3]; 1128 -> 3522[label="",style="dashed", color="magenta", weight=3]; 1128 -> 3523[label="",style="dashed", color="magenta", weight=3]; 3497 -> 4551[label="",style="dashed", color="red", weight=0]; 3497[label="primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];3497 -> 4556[label="",style="dashed", color="magenta", weight=3]; 3497 -> 4557[label="",style="dashed", color="magenta", weight=3]; 3498 -> 3537[label="",style="dashed", color="red", weight=0]; 3498[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd0 (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="magenta"];3498 -> 3538[label="",style="dashed", color="magenta", weight=3]; 3498 -> 3539[label="",style="dashed", color="magenta", weight=3]; 3499 -> 3554[label="",style="dashed", color="red", weight=0]; 3499[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd1 (abs (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="magenta"];3499 -> 3555[label="",style="dashed", color="magenta", weight=3]; 3499 -> 3556[label="",style="dashed", color="magenta", weight=3]; 1132 -> 3537[label="",style="dashed", color="red", weight=0]; 1132[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1132 -> 3540[label="",style="dashed", color="magenta", weight=3]; 1132 -> 3541[label="",style="dashed", color="magenta", weight=3]; 1132 -> 3542[label="",style="dashed", color="magenta", weight=3]; 1133 -> 3554[label="",style="dashed", color="red", weight=0]; 1133[label="Integer (Neg Zero) `quot` gcd1 (abs (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1133 -> 3557[label="",style="dashed", color="magenta", weight=3]; 1133 -> 3558[label="",style="dashed", color="magenta", weight=3]; 1133 -> 3559[label="",style="dashed", color="magenta", weight=3]; 1134[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1134 -> 1241[label="",style="solid", color="black", weight=3]; 1135[label="Pos Zero",fontsize=16,color="green",shape="box"];1136[label="Integer (Pos Zero) `quot` gcd1 False (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1136 -> 1242[label="",style="solid", color="black", weight=3]; 1137[label="Integer (Pos Zero) `quot` gcd1 True (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1137 -> 1243[label="",style="solid", color="black", weight=3]; 1138[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1138 -> 1244[label="",style="solid", color="black", weight=3]; 1139[label="Pos Zero",fontsize=16,color="green",shape="box"];1140[label="Integer (Neg Zero) `quot` gcd1 False (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1140 -> 1245[label="",style="solid", color="black", weight=3]; 1141[label="Integer (Neg Zero) `quot` gcd1 True (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1141 -> 1246[label="",style="solid", color="black", weight=3]; 4064[label="vuz80",fontsize=16,color="green",shape="box"];4065[label="Integer (Neg vuz216) `quot` gcd0Gcd' (abs (Integer (Neg vuz217))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4065 -> 4124[label="",style="solid", color="black", weight=3]; 4066[label="Integer (Neg vuz216) `quot` gcd1 (absReal (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4066 -> 4125[label="",style="solid", color="black", weight=3]; 4121[label="vuz80",fontsize=16,color="green",shape="box"];4122[label="Integer (Pos vuz226) `quot` gcd0Gcd' (abs (Integer (Pos vuz227))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4122 -> 4259[label="",style="solid", color="black", weight=3]; 4123[label="Integer (Pos vuz226) `quot` gcd1 (absReal (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4123 -> 4260[label="",style="solid", color="black", weight=3]; 1150[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1150 -> 1257[label="",style="solid", color="black", weight=3]; 1151[label="Neg Zero",fontsize=16,color="green",shape="box"];1152[label="Integer (Pos Zero) `quot` gcd1 False (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1152 -> 1258[label="",style="solid", color="black", weight=3]; 1153[label="Integer (Pos Zero) `quot` gcd1 True (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1153 -> 1259[label="",style="solid", color="black", weight=3]; 1154[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1154 -> 1260[label="",style="solid", color="black", weight=3]; 1155[label="Neg Zero",fontsize=16,color="green",shape="box"];1156[label="Integer (Neg Zero) `quot` gcd1 False (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1156 -> 1261[label="",style="solid", color="black", weight=3]; 1157[label="Integer (Neg Zero) `quot` gcd1 True (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1157 -> 1262[label="",style="solid", color="black", weight=3]; 6262 -> 6928[label="",style="dashed", color="red", weight=0]; 6262[label="signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero))",fontsize=16,color="magenta"];6262 -> 6929[label="",style="dashed", color="magenta", weight=3]; 6263 -> 2609[label="",style="dashed", color="red", weight=0]; 6263[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6263 -> 6942[label="",style="dashed", color="magenta", weight=3]; 6920 -> 2609[label="",style="dashed", color="red", weight=0]; 6920[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6920 -> 6943[label="",style="dashed", color="magenta", weight=3]; 6919[label="signumReal1 (Pos Zero) (Pos Zero > vuz413)",fontsize=16,color="black",shape="triangle"];6919 -> 6944[label="",style="solid", color="black", weight=3]; 6927[label="Pos Zero",fontsize=16,color="green",shape="box"];4495 -> 4166[label="",style="dashed", color="red", weight=0]; 4495[label="gcd0Gcd' vuz258 (vuz259 `rem` vuz258)",fontsize=16,color="magenta"];4495 -> 4532[label="",style="dashed", color="magenta", weight=3]; 4495 -> 4533[label="",style="dashed", color="magenta", weight=3]; 7667[label="Succ vuz453",fontsize=16,color="green",shape="box"];7668[label="primMinusNatS (Succ vuz452) (Succ vuz453)",fontsize=16,color="black",shape="box"];7668 -> 7692[label="",style="solid", color="black", weight=3]; 6271 -> 6952[label="",style="dashed", color="red", weight=0]; 6271[label="signumReal2 (Neg (Succ vuz900)) (Neg (Succ vuz900) == fromInt (Pos Zero))",fontsize=16,color="magenta"];6271 -> 6953[label="",style="dashed", color="magenta", weight=3]; 7243 -> 2609[label="",style="dashed", color="red", weight=0]; 7243[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7243 -> 7245[label="",style="dashed", color="magenta", weight=3]; 7242[label="signumReal1 (Neg Zero) (Neg Zero > vuz431)",fontsize=16,color="black",shape="triangle"];7242 -> 7246[label="",style="solid", color="black", weight=3]; 7244[label="Pos Zero",fontsize=16,color="green",shape="box"];1178[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos (Succ Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1178 -> 1287[label="",style="solid", color="black", weight=3]; 5798 -> 2647[label="",style="dashed", color="red", weight=0]; 5798[label="primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)",fontsize=16,color="magenta"];5798 -> 5876[label="",style="dashed", color="magenta", weight=3]; 5798 -> 5877[label="",style="dashed", color="magenta", weight=3]; 5799 -> 4436[label="",style="dashed", color="red", weight=0]; 5799[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5799 -> 5878[label="",style="dashed", color="magenta", weight=3]; 5799 -> 5879[label="",style="dashed", color="magenta", weight=3]; 5797[label="Integer (Pos (Succ vuz900)) `quot` gcd2 vuz339 (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="triangle"];8515[label="vuz339/False",fontsize=10,color="white",style="solid",shape="box"];5797 -> 8515[label="",style="solid", color="burlywood", weight=9]; 8515 -> 5880[label="",style="solid", color="burlywood", weight=3]; 8516[label="vuz339/True",fontsize=10,color="white",style="solid",shape="box"];5797 -> 8516[label="",style="solid", color="burlywood", weight=9]; 8516 -> 5881[label="",style="solid", color="burlywood", weight=3]; 5932 -> 4436[label="",style="dashed", color="red", weight=0]; 5932[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5932 -> 5996[label="",style="dashed", color="magenta", weight=3]; 5932 -> 5997[label="",style="dashed", color="magenta", weight=3]; 5933 -> 2647[label="",style="dashed", color="red", weight=0]; 5933[label="primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)",fontsize=16,color="magenta"];5933 -> 5998[label="",style="dashed", color="magenta", weight=3]; 5933 -> 5999[label="",style="dashed", color="magenta", weight=3]; 5931[label="Integer (Pos (Succ vuz900)) `quot` gcd2 vuz358 (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="triangle"];8517[label="vuz358/False",fontsize=10,color="white",style="solid",shape="box"];5931 -> 8517[label="",style="solid", color="burlywood", weight=9]; 8517 -> 6000[label="",style="solid", color="burlywood", weight=3]; 8518[label="vuz358/True",fontsize=10,color="white",style="solid",shape="box"];5931 -> 8518[label="",style="solid", color="burlywood", weight=9]; 8518 -> 6001[label="",style="solid", color="burlywood", weight=3]; 1183[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * fromInt (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Neg (Succ Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1183 -> 1292[label="",style="solid", color="black", weight=3]; 1184 -> 1293[label="",style="dashed", color="red", weight=0]; 1184[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1184 -> 1294[label="",style="dashed", color="magenta", weight=3]; 1185 -> 1293[label="",style="dashed", color="red", weight=0]; 1185[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1185 -> 1295[label="",style="dashed", color="magenta", weight=3]; 1186 -> 1296[label="",style="dashed", color="red", weight=0]; 1186[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1186 -> 1297[label="",style="dashed", color="magenta", weight=3]; 1187 -> 1296[label="",style="dashed", color="red", weight=0]; 1187[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1187 -> 1298[label="",style="dashed", color="magenta", weight=3]; 1188[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1188 -> 1299[label="",style="solid", color="black", weight=3]; 1189[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * fromInt (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Neg (Succ Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1189 -> 1300[label="",style="solid", color="black", weight=3]; 1190 -> 1301[label="",style="dashed", color="red", weight=0]; 1190[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1190 -> 1302[label="",style="dashed", color="magenta", weight=3]; 1191 -> 1301[label="",style="dashed", color="red", weight=0]; 1191[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1191 -> 1303[label="",style="dashed", color="magenta", weight=3]; 1192 -> 1304[label="",style="dashed", color="red", weight=0]; 1192[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1192 -> 1305[label="",style="dashed", color="magenta", weight=3]; 1193 -> 1304[label="",style="dashed", color="red", weight=0]; 1193[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1193 -> 1306[label="",style="dashed", color="magenta", weight=3]; 4552 -> 4436[label="",style="dashed", color="red", weight=0]; 4552[label="primMulNat vuz8000 (Succ Zero)",fontsize=16,color="magenta"];4552 -> 4577[label="",style="dashed", color="magenta", weight=3]; 4552 -> 4578[label="",style="dashed", color="magenta", weight=3]; 4553[label="Zero",fontsize=16,color="green",shape="box"];4554 -> 4436[label="",style="dashed", color="red", weight=0]; 4554[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="magenta"];4554 -> 4581[label="",style="dashed", color="magenta", weight=3]; 4554 -> 4582[label="",style="dashed", color="magenta", weight=3]; 4555[label="Zero",fontsize=16,color="green",shape="box"];3501 -> 4551[label="",style="dashed", color="red", weight=0]; 3501[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3501 -> 4560[label="",style="dashed", color="magenta", weight=3]; 3501 -> 4561[label="",style="dashed", color="magenta", weight=3]; 3502 -> 4551[label="",style="dashed", color="red", weight=0]; 3502[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3502 -> 4562[label="",style="dashed", color="magenta", weight=3]; 3502 -> 4563[label="",style="dashed", color="magenta", weight=3]; 3500[label="Integer (Pos vuz207) `quot` gcd0 (Integer (Pos vuz208)) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="triangle"];3500 -> 3577[label="",style="solid", color="black", weight=3]; 3519 -> 4551[label="",style="dashed", color="red", weight=0]; 3519[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3519 -> 4564[label="",style="dashed", color="magenta", weight=3]; 3519 -> 4565[label="",style="dashed", color="magenta", weight=3]; 3520 -> 4551[label="",style="dashed", color="red", weight=0]; 3520[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3520 -> 4566[label="",style="dashed", color="magenta", weight=3]; 3520 -> 4567[label="",style="dashed", color="magenta", weight=3]; 3518[label="Integer (Pos vuz209) `quot` gcd1 (abs (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="triangle"];3518 -> 3580[label="",style="solid", color="black", weight=3]; 3503[label="Zero",fontsize=16,color="green",shape="box"];3504[label="Zero",fontsize=16,color="green",shape="box"];3505[label="vuz900",fontsize=16,color="green",shape="box"];3521[label="Zero",fontsize=16,color="green",shape="box"];3522[label="Zero",fontsize=16,color="green",shape="box"];3523[label="vuz900",fontsize=16,color="green",shape="box"];4556 -> 4436[label="",style="dashed", color="red", weight=0]; 4556[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="magenta"];4556 -> 4583[label="",style="dashed", color="magenta", weight=3]; 4556 -> 4584[label="",style="dashed", color="magenta", weight=3]; 4557[label="Zero",fontsize=16,color="green",shape="box"];3538 -> 4551[label="",style="dashed", color="red", weight=0]; 3538[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3538 -> 4568[label="",style="dashed", color="magenta", weight=3]; 3538 -> 4569[label="",style="dashed", color="magenta", weight=3]; 3539 -> 4551[label="",style="dashed", color="red", weight=0]; 3539[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3539 -> 4570[label="",style="dashed", color="magenta", weight=3]; 3539 -> 4571[label="",style="dashed", color="magenta", weight=3]; 3537[label="Integer (Neg vuz211) `quot` gcd0 (Integer (Neg vuz212)) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="triangle"];3537 -> 3584[label="",style="solid", color="black", weight=3]; 3555 -> 4551[label="",style="dashed", color="red", weight=0]; 3555[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3555 -> 4572[label="",style="dashed", color="magenta", weight=3]; 3555 -> 4573[label="",style="dashed", color="magenta", weight=3]; 3556 -> 4551[label="",style="dashed", color="red", weight=0]; 3556[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3556 -> 4574[label="",style="dashed", color="magenta", weight=3]; 3556 -> 4575[label="",style="dashed", color="magenta", weight=3]; 3554[label="Integer (Neg vuz213) `quot` gcd1 (abs (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="triangle"];3554 -> 3587[label="",style="solid", color="black", weight=3]; 3540[label="Zero",fontsize=16,color="green",shape="box"];3541[label="Zero",fontsize=16,color="green",shape="box"];3542[label="vuz900",fontsize=16,color="green",shape="box"];3557[label="Zero",fontsize=16,color="green",shape="box"];3558[label="Zero",fontsize=16,color="green",shape="box"];3559[label="vuz900",fontsize=16,color="green",shape="box"];1241[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1241 -> 1369[label="",style="solid", color="black", weight=3]; 1242[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1242 -> 1370[label="",style="solid", color="black", weight=3]; 1243[label="Integer (Pos Zero) `quot` error []",fontsize=16,color="black",shape="triangle"];1243 -> 1371[label="",style="solid", color="black", weight=3]; 1244[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1244 -> 1372[label="",style="solid", color="black", weight=3]; 1245[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1245 -> 1373[label="",style="solid", color="black", weight=3]; 1246[label="Integer (Neg Zero) `quot` error []",fontsize=16,color="black",shape="triangle"];1246 -> 1374[label="",style="solid", color="black", weight=3]; 4124[label="Integer (Neg vuz216) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz217))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4124 -> 4261[label="",style="solid", color="black", weight=3]; 4125[label="Integer (Neg vuz216) `quot` gcd1 (absReal2 (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal2 (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4125 -> 4262[label="",style="solid", color="black", weight=3]; 4259[label="Integer (Pos vuz226) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz227))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4259 -> 4363[label="",style="solid", color="black", weight=3]; 4260[label="Integer (Pos vuz226) `quot` gcd1 (absReal2 (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal2 (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4260 -> 4364[label="",style="solid", color="black", weight=3]; 1257[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1257 -> 1386[label="",style="solid", color="black", weight=3]; 1258[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1258 -> 1387[label="",style="solid", color="black", weight=3]; 1259 -> 1243[label="",style="dashed", color="red", weight=0]; 1259[label="Integer (Pos Zero) `quot` error []",fontsize=16,color="magenta"];1260[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1260 -> 1388[label="",style="solid", color="black", weight=3]; 1261[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1261 -> 1389[label="",style="solid", color="black", weight=3]; 1262 -> 1246[label="",style="dashed", color="red", weight=0]; 1262[label="Integer (Neg Zero) `quot` error []",fontsize=16,color="magenta"];6929 -> 2609[label="",style="dashed", color="red", weight=0]; 6929[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6929 -> 6962[label="",style="dashed", color="magenta", weight=3]; 6928[label="signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > vuz414)",fontsize=16,color="black",shape="triangle"];6928 -> 6963[label="",style="solid", color="black", weight=3]; 6942[label="Pos Zero",fontsize=16,color="green",shape="box"];6943[label="Pos Zero",fontsize=16,color="green",shape="box"];6944[label="signumReal1 (Pos Zero) (compare (Pos Zero) vuz413 == GT)",fontsize=16,color="black",shape="box"];6944 -> 6964[label="",style="solid", color="black", weight=3]; 4532[label="vuz258",fontsize=16,color="green",shape="box"];4533 -> 4170[label="",style="dashed", color="red", weight=0]; 4533[label="vuz259 `rem` vuz258",fontsize=16,color="magenta"];4533 -> 4660[label="",style="dashed", color="magenta", weight=3]; 4533 -> 4661[label="",style="dashed", color="magenta", weight=3]; 7692[label="primMinusNatS vuz452 vuz453",fontsize=16,color="burlywood",shape="triangle"];8519[label="vuz452/Succ vuz4520",fontsize=10,color="white",style="solid",shape="box"];7692 -> 8519[label="",style="solid", color="burlywood", weight=9]; 8519 -> 7720[label="",style="solid", color="burlywood", weight=3]; 8520[label="vuz452/Zero",fontsize=10,color="white",style="solid",shape="box"];7692 -> 8520[label="",style="solid", color="burlywood", weight=9]; 8520 -> 7721[label="",style="solid", color="burlywood", weight=3]; 6953 -> 2582[label="",style="dashed", color="red", weight=0]; 6953[label="Neg (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6953 -> 6973[label="",style="dashed", color="magenta", weight=3]; 6952[label="signumReal2 (Neg (Succ vuz900)) vuz417",fontsize=16,color="burlywood",shape="triangle"];8521[label="vuz417/False",fontsize=10,color="white",style="solid",shape="box"];6952 -> 8521[label="",style="solid", color="burlywood", weight=9]; 8521 -> 6974[label="",style="solid", color="burlywood", weight=3]; 8522[label="vuz417/True",fontsize=10,color="white",style="solid",shape="box"];6952 -> 8522[label="",style="solid", color="burlywood", weight=9]; 8522 -> 6975[label="",style="solid", color="burlywood", weight=3]; 7245[label="Pos Zero",fontsize=16,color="green",shape="box"];7246[label="signumReal1 (Neg Zero) (compare (Neg Zero) vuz431 == GT)",fontsize=16,color="black",shape="box"];7246 -> 7257[label="",style="solid", color="black", weight=3]; 1287[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * Integer (Pos (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos (Succ Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1287 -> 1412[label="",style="solid", color="black", weight=3]; 5876[label="Pos Zero",fontsize=16,color="green",shape="box"];5877[label="Pos (primMulNat vuz80 Zero)",fontsize=16,color="green",shape="box"];5877 -> 5913[label="",style="dashed", color="green", weight=3]; 5878[label="Zero",fontsize=16,color="green",shape="box"];5879[label="vuz80",fontsize=16,color="green",shape="box"];5880[label="Integer (Pos (Succ vuz900)) `quot` gcd2 False (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5880 -> 5914[label="",style="solid", color="black", weight=3]; 5881[label="Integer (Pos (Succ vuz900)) `quot` gcd2 True (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5881 -> 5915[label="",style="solid", color="black", weight=3]; 5996[label="Zero",fontsize=16,color="green",shape="box"];5997[label="vuz80",fontsize=16,color="green",shape="box"];5998[label="Pos Zero",fontsize=16,color="green",shape="box"];5999[label="Neg (primMulNat vuz80 Zero)",fontsize=16,color="green",shape="box"];5999 -> 6023[label="",style="dashed", color="green", weight=3]; 6000[label="Integer (Pos (Succ vuz900)) `quot` gcd2 False (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];6000 -> 6024[label="",style="solid", color="black", weight=3]; 6001[label="Integer (Pos (Succ vuz900)) `quot` gcd2 True (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];6001 -> 6025[label="",style="solid", color="black", weight=3]; 1292[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * Integer (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Neg (Succ Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1292 -> 1419[label="",style="solid", color="black", weight=3]; 1294 -> 2647[label="",style="dashed", color="red", weight=0]; 1294[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1294 -> 2775[label="",style="dashed", color="magenta", weight=3]; 1294 -> 2776[label="",style="dashed", color="magenta", weight=3]; 1293[label="Integer (Pos Zero) `quot` gcd2 vuz66 (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];8523[label="vuz66/False",fontsize=10,color="white",style="solid",shape="box"];1293 -> 8523[label="",style="solid", color="burlywood", weight=9]; 8523 -> 1420[label="",style="solid", color="burlywood", weight=3]; 8524[label="vuz66/True",fontsize=10,color="white",style="solid",shape="box"];1293 -> 8524[label="",style="solid", color="burlywood", weight=9]; 8524 -> 1421[label="",style="solid", color="burlywood", weight=3]; 1295 -> 2647[label="",style="dashed", color="red", weight=0]; 1295[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1295 -> 2777[label="",style="dashed", color="magenta", weight=3]; 1295 -> 2778[label="",style="dashed", color="magenta", weight=3]; 1297 -> 2647[label="",style="dashed", color="red", weight=0]; 1297[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1297 -> 2779[label="",style="dashed", color="magenta", weight=3]; 1297 -> 2780[label="",style="dashed", color="magenta", weight=3]; 1296[label="Integer (Pos Zero) `quot` gcd2 vuz67 (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];8525[label="vuz67/False",fontsize=10,color="white",style="solid",shape="box"];1296 -> 8525[label="",style="solid", color="burlywood", weight=9]; 8525 -> 1422[label="",style="solid", color="burlywood", weight=3]; 8526[label="vuz67/True",fontsize=10,color="white",style="solid",shape="box"];1296 -> 8526[label="",style="solid", color="burlywood", weight=9]; 8526 -> 1423[label="",style="solid", color="burlywood", weight=3]; 1298 -> 2647[label="",style="dashed", color="red", weight=0]; 1298[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1298 -> 2781[label="",style="dashed", color="magenta", weight=3]; 1298 -> 2782[label="",style="dashed", color="magenta", weight=3]; 1299[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1299 -> 1424[label="",style="solid", color="black", weight=3]; 1300[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * Integer (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Neg (Succ Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1300 -> 1425[label="",style="solid", color="black", weight=3]; 1302 -> 2647[label="",style="dashed", color="red", weight=0]; 1302[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1302 -> 2783[label="",style="dashed", color="magenta", weight=3]; 1302 -> 2784[label="",style="dashed", color="magenta", weight=3]; 1301[label="Integer (Neg Zero) `quot` gcd2 vuz68 (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];8527[label="vuz68/False",fontsize=10,color="white",style="solid",shape="box"];1301 -> 8527[label="",style="solid", color="burlywood", weight=9]; 8527 -> 1426[label="",style="solid", color="burlywood", weight=3]; 8528[label="vuz68/True",fontsize=10,color="white",style="solid",shape="box"];1301 -> 8528[label="",style="solid", color="burlywood", weight=9]; 8528 -> 1427[label="",style="solid", color="burlywood", weight=3]; 1303 -> 2647[label="",style="dashed", color="red", weight=0]; 1303[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1303 -> 2785[label="",style="dashed", color="magenta", weight=3]; 1303 -> 2786[label="",style="dashed", color="magenta", weight=3]; 1305 -> 2647[label="",style="dashed", color="red", weight=0]; 1305[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1305 -> 2787[label="",style="dashed", color="magenta", weight=3]; 1305 -> 2788[label="",style="dashed", color="magenta", weight=3]; 1304[label="Integer (Neg Zero) `quot` gcd2 vuz69 (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];8529[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];1304 -> 8529[label="",style="solid", color="burlywood", weight=9]; 8529 -> 1428[label="",style="solid", color="burlywood", weight=3]; 8530[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];1304 -> 8530[label="",style="solid", color="burlywood", weight=9]; 8530 -> 1429[label="",style="solid", color="burlywood", weight=3]; 1306 -> 2647[label="",style="dashed", color="red", weight=0]; 1306[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1306 -> 2789[label="",style="dashed", color="magenta", weight=3]; 1306 -> 2790[label="",style="dashed", color="magenta", weight=3]; 4577[label="Succ Zero",fontsize=16,color="green",shape="box"];4578[label="vuz8000",fontsize=16,color="green",shape="box"];4581[label="Succ Zero",fontsize=16,color="green",shape="box"];4582[label="vuz800",fontsize=16,color="green",shape="box"];4560[label="vuz195",fontsize=16,color="green",shape="box"];4561[label="Zero",fontsize=16,color="green",shape="box"];4562[label="vuz195",fontsize=16,color="green",shape="box"];4563[label="Zero",fontsize=16,color="green",shape="box"];3577[label="Integer (Pos vuz207) `quot` gcd0Gcd' (abs (Integer (Pos vuz208))) (abs (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];3577 -> 3684[label="",style="solid", color="black", weight=3]; 4564[label="vuz195",fontsize=16,color="green",shape="box"];4565[label="Zero",fontsize=16,color="green",shape="box"];4566[label="vuz195",fontsize=16,color="green",shape="box"];4567[label="Zero",fontsize=16,color="green",shape="box"];3580[label="Integer (Pos vuz209) `quot` gcd1 (absReal (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3580 -> 3685[label="",style="solid", color="black", weight=3]; 4583[label="Succ Zero",fontsize=16,color="green",shape="box"];4584[label="vuz800",fontsize=16,color="green",shape="box"];4568[label="vuz203",fontsize=16,color="green",shape="box"];4569[label="Zero",fontsize=16,color="green",shape="box"];4570[label="vuz203",fontsize=16,color="green",shape="box"];4571[label="Zero",fontsize=16,color="green",shape="box"];3584[label="Integer (Neg vuz211) `quot` gcd0Gcd' (abs (Integer (Neg vuz212))) (abs (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];3584 -> 3686[label="",style="solid", color="black", weight=3]; 4572[label="vuz203",fontsize=16,color="green",shape="box"];4573[label="Zero",fontsize=16,color="green",shape="box"];4574[label="vuz203",fontsize=16,color="green",shape="box"];4575[label="Zero",fontsize=16,color="green",shape="box"];3587[label="Integer (Neg vuz213) `quot` gcd1 (absReal (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3587 -> 3687[label="",style="solid", color="black", weight=3]; 1369[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1369 -> 1505[label="",style="solid", color="black", weight=3]; 1370[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1370 -> 1506[label="",style="solid", color="black", weight=3]; 1371[label="error []",fontsize=16,color="red",shape="box"];1372[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1372 -> 1507[label="",style="solid", color="black", weight=3]; 1373[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1373 -> 1508[label="",style="solid", color="black", weight=3]; 1374[label="error []",fontsize=16,color="red",shape="box"];4261[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4261 -> 4365[label="",style="solid", color="black", weight=3]; 4262[label="Integer (Neg vuz216) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4262 -> 4366[label="",style="solid", color="black", weight=3]; 4363[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4363 -> 4459[label="",style="solid", color="black", weight=3]; 4364[label="Integer (Pos vuz226) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4364 -> 4460[label="",style="solid", color="black", weight=3]; 1386[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1386 -> 1523[label="",style="solid", color="black", weight=3]; 1387[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1387 -> 1524[label="",style="solid", color="black", weight=3]; 1388[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1388 -> 1525[label="",style="solid", color="black", weight=3]; 1389[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1389 -> 1526[label="",style="solid", color="black", weight=3]; 6962[label="Pos Zero",fontsize=16,color="green",shape="box"];6963[label="signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) vuz414 == GT)",fontsize=16,color="black",shape="box"];6963 -> 7020[label="",style="solid", color="black", weight=3]; 6964[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) vuz413 == GT)",fontsize=16,color="burlywood",shape="box"];8531[label="vuz413/Pos vuz4130",fontsize=10,color="white",style="solid",shape="box"];6964 -> 8531[label="",style="solid", color="burlywood", weight=9]; 8531 -> 7021[label="",style="solid", color="burlywood", weight=3]; 8532[label="vuz413/Neg vuz4130",fontsize=10,color="white",style="solid",shape="box"];6964 -> 8532[label="",style="solid", color="burlywood", weight=9]; 8532 -> 7022[label="",style="solid", color="burlywood", weight=3]; 4660[label="vuz259",fontsize=16,color="green",shape="box"];4661[label="vuz258",fontsize=16,color="green",shape="box"];4170[label="vuz156 `rem` vuz155",fontsize=16,color="black",shape="triangle"];4170 -> 4263[label="",style="solid", color="black", weight=3]; 7720[label="primMinusNatS (Succ vuz4520) vuz453",fontsize=16,color="burlywood",shape="box"];8533[label="vuz453/Succ vuz4530",fontsize=10,color="white",style="solid",shape="box"];7720 -> 8533[label="",style="solid", color="burlywood", weight=9]; 8533 -> 7746[label="",style="solid", color="burlywood", weight=3]; 8534[label="vuz453/Zero",fontsize=10,color="white",style="solid",shape="box"];7720 -> 8534[label="",style="solid", color="burlywood", weight=9]; 8534 -> 7747[label="",style="solid", color="burlywood", weight=3]; 7721[label="primMinusNatS Zero vuz453",fontsize=16,color="burlywood",shape="box"];8535[label="vuz453/Succ vuz4530",fontsize=10,color="white",style="solid",shape="box"];7721 -> 8535[label="",style="solid", color="burlywood", weight=9]; 8535 -> 7748[label="",style="solid", color="burlywood", weight=3]; 8536[label="vuz453/Zero",fontsize=10,color="white",style="solid",shape="box"];7721 -> 8536[label="",style="solid", color="burlywood", weight=9]; 8536 -> 7749[label="",style="solid", color="burlywood", weight=3]; 6973[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];6974[label="signumReal2 (Neg (Succ vuz900)) False",fontsize=16,color="black",shape="box"];6974 -> 7030[label="",style="solid", color="black", weight=3]; 6975[label="signumReal2 (Neg (Succ vuz900)) True",fontsize=16,color="black",shape="box"];6975 -> 7031[label="",style="solid", color="black", weight=3]; 7257[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) vuz431 == GT)",fontsize=16,color="burlywood",shape="box"];8537[label="vuz431/Pos vuz4310",fontsize=10,color="white",style="solid",shape="box"];7257 -> 8537[label="",style="solid", color="burlywood", weight=9]; 8537 -> 7260[label="",style="solid", color="burlywood", weight=3]; 8538[label="vuz431/Neg vuz4310",fontsize=10,color="white",style="solid",shape="box"];7257 -> 8538[label="",style="solid", color="burlywood", weight=9]; 8538 -> 7261[label="",style="solid", color="burlywood", weight=3]; 1412[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1412 -> 1547[label="",style="solid", color="black", weight=3]; 5913 -> 4436[label="",style="dashed", color="red", weight=0]; 5913[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5913 -> 6002[label="",style="dashed", color="magenta", weight=3]; 5913 -> 6003[label="",style="dashed", color="magenta", weight=3]; 5914[label="Integer (Pos (Succ vuz900)) `quot` gcd0 (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5914 -> 6004[label="",style="solid", color="black", weight=3]; 5915 -> 6053[label="",style="dashed", color="red", weight=0]; 5915[label="Integer (Pos (Succ vuz900)) `quot` gcd1 (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)) (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5915 -> 6054[label="",style="dashed", color="magenta", weight=3]; 5915 -> 6055[label="",style="dashed", color="magenta", weight=3]; 5915 -> 6056[label="",style="dashed", color="magenta", weight=3]; 5915 -> 6057[label="",style="dashed", color="magenta", weight=3]; 6023 -> 4436[label="",style="dashed", color="red", weight=0]; 6023[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6023 -> 6195[label="",style="dashed", color="magenta", weight=3]; 6023 -> 6196[label="",style="dashed", color="magenta", weight=3]; 6024[label="Integer (Pos (Succ vuz900)) `quot` gcd0 (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];6024 -> 6197[label="",style="solid", color="black", weight=3]; 6025 -> 6053[label="",style="dashed", color="red", weight=0]; 6025[label="Integer (Pos (Succ vuz900)) `quot` gcd1 (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)) (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];6025 -> 6058[label="",style="dashed", color="magenta", weight=3]; 6025 -> 6059[label="",style="dashed", color="magenta", weight=3]; 6025 -> 6060[label="",style="dashed", color="magenta", weight=3]; 6025 -> 6061[label="",style="dashed", color="magenta", weight=3]; 1419 -> 4467[label="",style="dashed", color="red", weight=0]; 1419[label="Integer (Pos Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer (Pos Zero))",fontsize=16,color="magenta"];1419 -> 4468[label="",style="dashed", color="magenta", weight=3]; 1419 -> 4469[label="",style="dashed", color="magenta", weight=3]; 1419 -> 4470[label="",style="dashed", color="magenta", weight=3]; 2775[label="Pos Zero",fontsize=16,color="green",shape="box"];2776[label="Pos Zero",fontsize=16,color="green",shape="box"];1420[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1420 -> 1553[label="",style="solid", color="black", weight=3]; 1421[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1421 -> 1554[label="",style="solid", color="black", weight=3]; 2777[label="Pos Zero",fontsize=16,color="green",shape="box"];2778[label="Pos Zero",fontsize=16,color="green",shape="box"];2779[label="Pos Zero",fontsize=16,color="green",shape="box"];2780[label="Neg Zero",fontsize=16,color="green",shape="box"];1422[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1422 -> 1555[label="",style="solid", color="black", weight=3]; 1423[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1423 -> 1556[label="",style="solid", color="black", weight=3]; 2781[label="Pos Zero",fontsize=16,color="green",shape="box"];2782[label="Neg Zero",fontsize=16,color="green",shape="box"];1424[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1424 -> 1557[label="",style="solid", color="black", weight=3]; 1425 -> 4467[label="",style="dashed", color="red", weight=0]; 1425[label="Integer (Neg Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer (Neg Zero))",fontsize=16,color="magenta"];1425 -> 4471[label="",style="dashed", color="magenta", weight=3]; 1425 -> 4472[label="",style="dashed", color="magenta", weight=3]; 1425 -> 4473[label="",style="dashed", color="magenta", weight=3]; 2783[label="Pos Zero",fontsize=16,color="green",shape="box"];2784[label="Pos Zero",fontsize=16,color="green",shape="box"];1426[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1426 -> 1559[label="",style="solid", color="black", weight=3]; 1427[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1427 -> 1560[label="",style="solid", color="black", weight=3]; 2785[label="Pos Zero",fontsize=16,color="green",shape="box"];2786[label="Pos Zero",fontsize=16,color="green",shape="box"];2787[label="Pos Zero",fontsize=16,color="green",shape="box"];2788[label="Neg Zero",fontsize=16,color="green",shape="box"];1428[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1428 -> 1561[label="",style="solid", color="black", weight=3]; 1429[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1429 -> 1562[label="",style="solid", color="black", weight=3]; 2789[label="Pos Zero",fontsize=16,color="green",shape="box"];2790[label="Neg Zero",fontsize=16,color="green",shape="box"];3684[label="Integer (Pos vuz207) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz208))) (abs (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];3684 -> 3781[label="",style="solid", color="black", weight=3]; 3685[label="Integer (Pos vuz209) `quot` gcd1 (absReal2 (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal2 (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3685 -> 3782[label="",style="solid", color="black", weight=3]; 3686[label="Integer (Neg vuz211) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz212))) (abs (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];3686 -> 3783[label="",style="solid", color="black", weight=3]; 3687[label="Integer (Neg vuz213) `quot` gcd1 (absReal2 (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal2 (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3687 -> 3784[label="",style="solid", color="black", weight=3]; 1505[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1505 -> 1639[label="",style="solid", color="black", weight=3]; 1506[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1506 -> 1640[label="",style="solid", color="black", weight=3]; 1507[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1507 -> 1641[label="",style="solid", color="black", weight=3]; 1508[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1508 -> 1642[label="",style="solid", color="black", weight=3]; 4365[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4365 -> 4461[label="",style="solid", color="black", weight=3]; 4366[label="Integer (Neg vuz216) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4366 -> 4462[label="",style="solid", color="black", weight=3]; 4459[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4459 -> 4543[label="",style="solid", color="black", weight=3]; 4460[label="Integer (Pos vuz226) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4460 -> 4544[label="",style="solid", color="black", weight=3]; 1523[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1523 -> 1656[label="",style="solid", color="black", weight=3]; 1524[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1524 -> 1657[label="",style="solid", color="black", weight=3]; 1525[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1525 -> 1658[label="",style="solid", color="black", weight=3]; 1526[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1526 -> 1659[label="",style="solid", color="black", weight=3]; 7020[label="signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) vuz414 == GT)",fontsize=16,color="burlywood",shape="box"];8539[label="vuz414/Pos vuz4140",fontsize=10,color="white",style="solid",shape="box"];7020 -> 8539[label="",style="solid", color="burlywood", weight=9]; 8539 -> 7064[label="",style="solid", color="burlywood", weight=3]; 8540[label="vuz414/Neg vuz4140",fontsize=10,color="white",style="solid",shape="box"];7020 -> 8540[label="",style="solid", color="burlywood", weight=9]; 8540 -> 7065[label="",style="solid", color="burlywood", weight=3]; 7021[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos vuz4130) == GT)",fontsize=16,color="burlywood",shape="box"];8541[label="vuz4130/Succ vuz41300",fontsize=10,color="white",style="solid",shape="box"];7021 -> 8541[label="",style="solid", color="burlywood", weight=9]; 8541 -> 7066[label="",style="solid", color="burlywood", weight=3]; 8542[label="vuz4130/Zero",fontsize=10,color="white",style="solid",shape="box"];7021 -> 8542[label="",style="solid", color="burlywood", weight=9]; 8542 -> 7067[label="",style="solid", color="burlywood", weight=3]; 7022[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Neg vuz4130) == GT)",fontsize=16,color="burlywood",shape="box"];8543[label="vuz4130/Succ vuz41300",fontsize=10,color="white",style="solid",shape="box"];7022 -> 8543[label="",style="solid", color="burlywood", weight=9]; 8543 -> 7068[label="",style="solid", color="burlywood", weight=3]; 8544[label="vuz4130/Zero",fontsize=10,color="white",style="solid",shape="box"];7022 -> 8544[label="",style="solid", color="burlywood", weight=9]; 8544 -> 7069[label="",style="solid", color="burlywood", weight=3]; 4263[label="primRemInt vuz156 vuz155",fontsize=16,color="burlywood",shape="triangle"];8545[label="vuz156/Pos vuz1560",fontsize=10,color="white",style="solid",shape="box"];4263 -> 8545[label="",style="solid", color="burlywood", weight=9]; 8545 -> 4367[label="",style="solid", color="burlywood", weight=3]; 8546[label="vuz156/Neg vuz1560",fontsize=10,color="white",style="solid",shape="box"];4263 -> 8546[label="",style="solid", color="burlywood", weight=9]; 8546 -> 4368[label="",style="solid", color="burlywood", weight=3]; 7746[label="primMinusNatS (Succ vuz4520) (Succ vuz4530)",fontsize=16,color="black",shape="box"];7746 -> 7776[label="",style="solid", color="black", weight=3]; 7747[label="primMinusNatS (Succ vuz4520) Zero",fontsize=16,color="black",shape="box"];7747 -> 7777[label="",style="solid", color="black", weight=3]; 7748[label="primMinusNatS Zero (Succ vuz4530)",fontsize=16,color="black",shape="box"];7748 -> 7778[label="",style="solid", color="black", weight=3]; 7749[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];7749 -> 7779[label="",style="solid", color="black", weight=3]; 7030 -> 7077[label="",style="dashed", color="red", weight=0]; 7030[label="signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero))",fontsize=16,color="magenta"];7030 -> 7078[label="",style="dashed", color="magenta", weight=3]; 7031 -> 2609[label="",style="dashed", color="red", weight=0]; 7031[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7031 -> 7087[label="",style="dashed", color="magenta", weight=3]; 7260[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos vuz4310) == GT)",fontsize=16,color="burlywood",shape="box"];8547[label="vuz4310/Succ vuz43100",fontsize=10,color="white",style="solid",shape="box"];7260 -> 8547[label="",style="solid", color="burlywood", weight=9]; 8547 -> 7291[label="",style="solid", color="burlywood", weight=3]; 8548[label="vuz4310/Zero",fontsize=10,color="white",style="solid",shape="box"];7260 -> 8548[label="",style="solid", color="burlywood", weight=9]; 8548 -> 7292[label="",style="solid", color="burlywood", weight=3]; 7261[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Neg vuz4310) == GT)",fontsize=16,color="burlywood",shape="box"];8549[label="vuz4310/Succ vuz43100",fontsize=10,color="white",style="solid",shape="box"];7261 -> 8549[label="",style="solid", color="burlywood", weight=9]; 8549 -> 7293[label="",style="solid", color="burlywood", weight=3]; 8550[label="vuz4310/Zero",fontsize=10,color="white",style="solid",shape="box"];7261 -> 8550[label="",style="solid", color="burlywood", weight=9]; 8550 -> 7294[label="",style="solid", color="burlywood", weight=3]; 1547[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1547 -> 1684[label="",style="solid", color="black", weight=3]; 6002[label="Zero",fontsize=16,color="green",shape="box"];6003[label="vuz80",fontsize=16,color="green",shape="box"];6004 -> 4807[label="",style="dashed", color="red", weight=0]; 6004[label="Integer (Pos (Succ vuz900)) `quot` gcd0Gcd' (abs (Integer (Pos vuz340))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];6004 -> 6026[label="",style="dashed", color="magenta", weight=3]; 6004 -> 6027[label="",style="dashed", color="magenta", weight=3]; 6004 -> 6028[label="",style="dashed", color="magenta", weight=3]; 6054[label="Pos vuz340",fontsize=16,color="green",shape="box"];6055[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6056[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6057 -> 148[label="",style="dashed", color="red", weight=0]; 6057[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6057 -> 6198[label="",style="dashed", color="magenta", weight=3]; 6053[label="Integer vuz268 `quot` gcd1 vuz372 (Integer vuz299) (Integer vuz269)",fontsize=16,color="burlywood",shape="triangle"];8551[label="vuz372/False",fontsize=10,color="white",style="solid",shape="box"];6053 -> 8551[label="",style="solid", color="burlywood", weight=9]; 8551 -> 6199[label="",style="solid", color="burlywood", weight=3]; 8552[label="vuz372/True",fontsize=10,color="white",style="solid",shape="box"];6053 -> 8552[label="",style="solid", color="burlywood", weight=9]; 8552 -> 6200[label="",style="solid", color="burlywood", weight=3]; 6195[label="Zero",fontsize=16,color="green",shape="box"];6196[label="vuz80",fontsize=16,color="green",shape="box"];6197 -> 4807[label="",style="dashed", color="red", weight=0]; 6197[label="Integer (Pos (Succ vuz900)) `quot` gcd0Gcd' (abs (Integer (Neg vuz359))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];6197 -> 6273[label="",style="dashed", color="magenta", weight=3]; 6197 -> 6274[label="",style="dashed", color="magenta", weight=3]; 6197 -> 6275[label="",style="dashed", color="magenta", weight=3]; 6058[label="Neg vuz359",fontsize=16,color="green",shape="box"];6059[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6060[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6061 -> 148[label="",style="dashed", color="red", weight=0]; 6061[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6061 -> 6201[label="",style="dashed", color="magenta", weight=3]; 4468[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];4468 -> 4545[label="",style="solid", color="black", weight=3]; 4469[label="Pos Zero",fontsize=16,color="green",shape="box"];4470[label="Pos Zero",fontsize=16,color="green",shape="box"];4467[label="Integer vuz268 `quot` gcd2 vuz280 (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="burlywood",shape="triangle"];8553[label="vuz280/False",fontsize=10,color="white",style="solid",shape="box"];4467 -> 8553[label="",style="solid", color="burlywood", weight=9]; 8553 -> 4546[label="",style="solid", color="burlywood", weight=3]; 8554[label="vuz280/True",fontsize=10,color="white",style="solid",shape="box"];4467 -> 8554[label="",style="solid", color="burlywood", weight=9]; 8554 -> 4547[label="",style="solid", color="burlywood", weight=3]; 1553[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="triangle"];1553 -> 1690[label="",style="solid", color="black", weight=3]; 1554 -> 6053[label="",style="dashed", color="red", weight=0]; 1554[label="Integer (Pos Zero) `quot` gcd1 (Integer (Pos Zero) == fromInt (Pos Zero)) (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1554 -> 6066[label="",style="dashed", color="magenta", weight=3]; 1554 -> 6067[label="",style="dashed", color="magenta", weight=3]; 1554 -> 6068[label="",style="dashed", color="magenta", weight=3]; 1554 -> 6069[label="",style="dashed", color="magenta", weight=3]; 1555[label="Integer (Pos Zero) `quot` gcd0 (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="triangle"];1555 -> 1693[label="",style="solid", color="black", weight=3]; 1556 -> 6053[label="",style="dashed", color="red", weight=0]; 1556[label="Integer (Pos Zero) `quot` gcd1 (Integer (Pos Zero) == fromInt (Pos Zero)) (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1556 -> 6070[label="",style="dashed", color="magenta", weight=3]; 1556 -> 6071[label="",style="dashed", color="magenta", weight=3]; 1556 -> 6072[label="",style="dashed", color="magenta", weight=3]; 1556 -> 6073[label="",style="dashed", color="magenta", weight=3]; 1557[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1557 -> 1696[label="",style="solid", color="black", weight=3]; 4471 -> 4468[label="",style="dashed", color="red", weight=0]; 4471[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4472[label="Neg Zero",fontsize=16,color="green",shape="box"];4473[label="Neg Zero",fontsize=16,color="green",shape="box"];1559[label="Integer (Neg Zero) `quot` gcd0 (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="triangle"];1559 -> 1698[label="",style="solid", color="black", weight=3]; 1560 -> 6053[label="",style="dashed", color="red", weight=0]; 1560[label="Integer (Neg Zero) `quot` gcd1 (Integer (Neg Zero) == fromInt (Pos Zero)) (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1560 -> 6074[label="",style="dashed", color="magenta", weight=3]; 1560 -> 6075[label="",style="dashed", color="magenta", weight=3]; 1560 -> 6076[label="",style="dashed", color="magenta", weight=3]; 1560 -> 6077[label="",style="dashed", color="magenta", weight=3]; 1561[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="triangle"];1561 -> 1701[label="",style="solid", color="black", weight=3]; 1562 -> 6053[label="",style="dashed", color="red", weight=0]; 1562[label="Integer (Neg Zero) `quot` gcd1 (Integer (Neg Zero) == fromInt (Pos Zero)) (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1562 -> 6078[label="",style="dashed", color="magenta", weight=3]; 1562 -> 6079[label="",style="dashed", color="magenta", weight=3]; 1562 -> 6080[label="",style="dashed", color="magenta", weight=3]; 1562 -> 6081[label="",style="dashed", color="magenta", weight=3]; 3781[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos (Succ vuz196)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (abs (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];3781 -> 4142[label="",style="solid", color="black", weight=3]; 3782[label="Integer (Pos vuz209) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3782 -> 4143[label="",style="solid", color="black", weight=3]; 3783[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos (Succ vuz204)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (abs (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];3783 -> 4144[label="",style="solid", color="black", weight=3]; 3784[label="Integer (Neg vuz213) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3784 -> 4145[label="",style="solid", color="black", weight=3]; 1639[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1639 -> 1787[label="",style="solid", color="black", weight=3]; 1640[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1640 -> 1788[label="",style="solid", color="black", weight=3]; 1641[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1641 -> 1789[label="",style="solid", color="black", weight=3]; 1642[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1642 -> 1790[label="",style="solid", color="black", weight=3]; 4461[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal2 (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4461 -> 4548[label="",style="solid", color="black", weight=3]; 4462 -> 4549[label="",style="dashed", color="red", weight=0]; 4462[label="Integer (Neg vuz216) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4462 -> 4550[label="",style="dashed", color="magenta", weight=3]; 4543[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal2 (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4543 -> 4671[label="",style="solid", color="black", weight=3]; 4544 -> 4672[label="",style="dashed", color="red", weight=0]; 4544[label="Integer (Pos vuz226) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4544 -> 4673[label="",style="dashed", color="magenta", weight=3]; 1656[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1656 -> 1807[label="",style="solid", color="black", weight=3]; 1657[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1657 -> 1808[label="",style="solid", color="black", weight=3]; 1658[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1658 -> 1809[label="",style="solid", color="black", weight=3]; 1659[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1659 -> 1810[label="",style="solid", color="black", weight=3]; 7064[label="signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos vuz4140) == GT)",fontsize=16,color="black",shape="box"];7064 -> 7088[label="",style="solid", color="black", weight=3]; 7065[label="signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Neg vuz4140) == GT)",fontsize=16,color="black",shape="box"];7065 -> 7089[label="",style="solid", color="black", weight=3]; 7066[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos (Succ vuz41300)) == GT)",fontsize=16,color="black",shape="box"];7066 -> 7090[label="",style="solid", color="black", weight=3]; 7067[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];7067 -> 7091[label="",style="solid", color="black", weight=3]; 7068[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Neg (Succ vuz41300)) == GT)",fontsize=16,color="black",shape="box"];7068 -> 7092[label="",style="solid", color="black", weight=3]; 7069[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];7069 -> 7093[label="",style="solid", color="black", weight=3]; 4367[label="primRemInt (Pos vuz1560) vuz155",fontsize=16,color="burlywood",shape="box"];8555[label="vuz155/Pos vuz1550",fontsize=10,color="white",style="solid",shape="box"];4367 -> 8555[label="",style="solid", color="burlywood", weight=9]; 8555 -> 4463[label="",style="solid", color="burlywood", weight=3]; 8556[label="vuz155/Neg vuz1550",fontsize=10,color="white",style="solid",shape="box"];4367 -> 8556[label="",style="solid", color="burlywood", weight=9]; 8556 -> 4464[label="",style="solid", color="burlywood", weight=3]; 4368[label="primRemInt (Neg vuz1560) vuz155",fontsize=16,color="burlywood",shape="box"];8557[label="vuz155/Pos vuz1550",fontsize=10,color="white",style="solid",shape="box"];4368 -> 8557[label="",style="solid", color="burlywood", weight=9]; 8557 -> 4465[label="",style="solid", color="burlywood", weight=3]; 8558[label="vuz155/Neg vuz1550",fontsize=10,color="white",style="solid",shape="box"];4368 -> 8558[label="",style="solid", color="burlywood", weight=9]; 8558 -> 4466[label="",style="solid", color="burlywood", weight=3]; 7776 -> 7692[label="",style="dashed", color="red", weight=0]; 7776[label="primMinusNatS vuz4520 vuz4530",fontsize=16,color="magenta"];7776 -> 7805[label="",style="dashed", color="magenta", weight=3]; 7776 -> 7806[label="",style="dashed", color="magenta", weight=3]; 7777[label="Succ vuz4520",fontsize=16,color="green",shape="box"];7778[label="Zero",fontsize=16,color="green",shape="box"];7779[label="Zero",fontsize=16,color="green",shape="box"];7078 -> 2609[label="",style="dashed", color="red", weight=0]; 7078[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7078 -> 7102[label="",style="dashed", color="magenta", weight=3]; 7077[label="signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > vuz427)",fontsize=16,color="black",shape="triangle"];7077 -> 7103[label="",style="solid", color="black", weight=3]; 7087[label="Pos Zero",fontsize=16,color="green",shape="box"];7291[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos (Succ vuz43100)) == GT)",fontsize=16,color="black",shape="box"];7291 -> 7322[label="",style="solid", color="black", weight=3]; 7292[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];7292 -> 7323[label="",style="solid", color="black", weight=3]; 7293[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Neg (Succ vuz43100)) == GT)",fontsize=16,color="black",shape="box"];7293 -> 7324[label="",style="solid", color="black", weight=3]; 7294[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];7294 -> 7325[label="",style="solid", color="black", weight=3]; 1684[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8559[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];1684 -> 8559[label="",style="solid", color="burlywood", weight=9]; 8559 -> 1837[label="",style="solid", color="burlywood", weight=3]; 8560[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];1684 -> 8560[label="",style="solid", color="burlywood", weight=9]; 8560 -> 1838[label="",style="solid", color="burlywood", weight=3]; 6026[label="Pos vuz340",fontsize=16,color="green",shape="box"];6027[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6028[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];4807[label="Integer vuz268 `quot` gcd0Gcd' (abs (Integer vuz298)) (abs (Integer vuz269))",fontsize=16,color="black",shape="triangle"];4807 -> 4829[label="",style="solid", color="black", weight=3]; 6198[label="vuz900",fontsize=16,color="green",shape="box"];6199[label="Integer vuz268 `quot` gcd1 False (Integer vuz299) (Integer vuz269)",fontsize=16,color="black",shape="box"];6199 -> 6276[label="",style="solid", color="black", weight=3]; 6200[label="Integer vuz268 `quot` gcd1 True (Integer vuz299) (Integer vuz269)",fontsize=16,color="black",shape="box"];6200 -> 6277[label="",style="solid", color="black", weight=3]; 6273[label="Neg vuz359",fontsize=16,color="green",shape="box"];6274[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6275[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6201[label="vuz900",fontsize=16,color="green",shape="box"];4545[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];4545 -> 4720[label="",style="solid", color="black", weight=3]; 4546[label="Integer vuz268 `quot` gcd2 False (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="black",shape="box"];4546 -> 4721[label="",style="solid", color="black", weight=3]; 4547[label="Integer vuz268 `quot` gcd2 True (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="black",shape="box"];4547 -> 4722[label="",style="solid", color="black", weight=3]; 1690 -> 4807[label="",style="dashed", color="red", weight=0]; 1690[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];1690 -> 4808[label="",style="dashed", color="magenta", weight=3]; 1690 -> 4809[label="",style="dashed", color="magenta", weight=3]; 1690 -> 4810[label="",style="dashed", color="magenta", weight=3]; 6066[label="Pos Zero",fontsize=16,color="green",shape="box"];6067[label="Pos Zero",fontsize=16,color="green",shape="box"];6068[label="Pos Zero",fontsize=16,color="green",shape="box"];6069 -> 131[label="",style="dashed", color="red", weight=0]; 6069[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1693 -> 4807[label="",style="dashed", color="red", weight=0]; 1693[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];1693 -> 4811[label="",style="dashed", color="magenta", weight=3]; 1693 -> 4812[label="",style="dashed", color="magenta", weight=3]; 1693 -> 4813[label="",style="dashed", color="magenta", weight=3]; 6070[label="Neg Zero",fontsize=16,color="green",shape="box"];6071[label="Pos Zero",fontsize=16,color="green",shape="box"];6072[label="Pos Zero",fontsize=16,color="green",shape="box"];6073 -> 131[label="",style="dashed", color="red", weight=0]; 6073[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1696[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * fromInt (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Neg (Succ Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1696 -> 1853[label="",style="solid", color="black", weight=3]; 1698 -> 4807[label="",style="dashed", color="red", weight=0]; 1698[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];1698 -> 4814[label="",style="dashed", color="magenta", weight=3]; 1698 -> 4815[label="",style="dashed", color="magenta", weight=3]; 1698 -> 4816[label="",style="dashed", color="magenta", weight=3]; 6074[label="Pos Zero",fontsize=16,color="green",shape="box"];6075[label="Neg Zero",fontsize=16,color="green",shape="box"];6076[label="Neg Zero",fontsize=16,color="green",shape="box"];6077 -> 133[label="",style="dashed", color="red", weight=0]; 6077[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1701 -> 4807[label="",style="dashed", color="red", weight=0]; 1701[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];1701 -> 4817[label="",style="dashed", color="magenta", weight=3]; 1701 -> 4818[label="",style="dashed", color="magenta", weight=3]; 1701 -> 4819[label="",style="dashed", color="magenta", weight=3]; 6078[label="Neg Zero",fontsize=16,color="green",shape="box"];6079[label="Neg Zero",fontsize=16,color="green",shape="box"];6080[label="Neg Zero",fontsize=16,color="green",shape="box"];6081 -> 133[label="",style="dashed", color="red", weight=0]; 6081[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4142[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos (Succ vuz196)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];4142 -> 4276[label="",style="solid", color="black", weight=3]; 4143[label="Integer (Pos vuz209) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4143 -> 4277[label="",style="solid", color="black", weight=3]; 4144[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos (Succ vuz204)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];4144 -> 4278[label="",style="solid", color="black", weight=3]; 4145[label="Integer (Neg vuz213) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4145 -> 4279[label="",style="solid", color="black", weight=3]; 1787[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1787 -> 1961[label="",style="solid", color="black", weight=3]; 1788[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1788 -> 1962[label="",style="solid", color="black", weight=3]; 1789[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1789 -> 1963[label="",style="solid", color="black", weight=3]; 1790[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1790 -> 1964[label="",style="solid", color="black", weight=3]; 4548[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4548 -> 4723[label="",style="solid", color="black", weight=3]; 4550 -> 47[label="",style="dashed", color="red", weight=0]; 4550[label="absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4550 -> 4724[label="",style="dashed", color="magenta", weight=3]; 4549[label="Integer (Neg vuz216) `quot` gcd1 vuz284 (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8561[label="vuz284/False",fontsize=10,color="white",style="solid",shape="box"];4549 -> 8561[label="",style="solid", color="burlywood", weight=9]; 8561 -> 4725[label="",style="solid", color="burlywood", weight=3]; 8562[label="vuz284/True",fontsize=10,color="white",style="solid",shape="box"];4549 -> 8562[label="",style="solid", color="burlywood", weight=9]; 8562 -> 4726[label="",style="solid", color="burlywood", weight=3]; 4671[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4671 -> 4727[label="",style="solid", color="black", weight=3]; 4673 -> 47[label="",style="dashed", color="red", weight=0]; 4673[label="absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4673 -> 4728[label="",style="dashed", color="magenta", weight=3]; 4672[label="Integer (Pos vuz226) `quot` gcd1 vuz294 (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8563[label="vuz294/False",fontsize=10,color="white",style="solid",shape="box"];4672 -> 8563[label="",style="solid", color="burlywood", weight=9]; 8563 -> 4729[label="",style="solid", color="burlywood", weight=3]; 8564[label="vuz294/True",fontsize=10,color="white",style="solid",shape="box"];4672 -> 8564[label="",style="solid", color="burlywood", weight=9]; 8564 -> 4730[label="",style="solid", color="burlywood", weight=3]; 1807[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1807 -> 1982[label="",style="solid", color="black", weight=3]; 1808[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1808 -> 1983[label="",style="solid", color="black", weight=3]; 1809[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1809 -> 1984[label="",style="solid", color="black", weight=3]; 1810[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1810 -> 1985[label="",style="solid", color="black", weight=3]; 7088 -> 7698[label="",style="dashed", color="red", weight=0]; 7088[label="signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) vuz4140 == GT)",fontsize=16,color="magenta"];7088 -> 7699[label="",style="dashed", color="magenta", weight=3]; 7088 -> 7700[label="",style="dashed", color="magenta", weight=3]; 7088 -> 7701[label="",style="dashed", color="magenta", weight=3]; 7089[label="signumReal1 (Pos (Succ vuz900)) (GT == GT)",fontsize=16,color="black",shape="triangle"];7089 -> 7141[label="",style="solid", color="black", weight=3]; 7090[label="signumReal1 (Pos Zero) (primCmpNat Zero (Succ vuz41300) == GT)",fontsize=16,color="black",shape="box"];7090 -> 7142[label="",style="solid", color="black", weight=3]; 7091[label="signumReal1 (Pos Zero) (EQ == GT)",fontsize=16,color="black",shape="triangle"];7091 -> 7143[label="",style="solid", color="black", weight=3]; 7092[label="signumReal1 (Pos Zero) (GT == GT)",fontsize=16,color="black",shape="box"];7092 -> 7144[label="",style="solid", color="black", weight=3]; 7093 -> 7091[label="",style="dashed", color="red", weight=0]; 7093[label="signumReal1 (Pos Zero) (EQ == GT)",fontsize=16,color="magenta"];4463[label="primRemInt (Pos vuz1560) (Pos vuz1550)",fontsize=16,color="burlywood",shape="box"];8565[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4463 -> 8565[label="",style="solid", color="burlywood", weight=9]; 8565 -> 4738[label="",style="solid", color="burlywood", weight=3]; 8566[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4463 -> 8566[label="",style="solid", color="burlywood", weight=9]; 8566 -> 4739[label="",style="solid", color="burlywood", weight=3]; 4464[label="primRemInt (Pos vuz1560) (Neg vuz1550)",fontsize=16,color="burlywood",shape="box"];8567[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4464 -> 8567[label="",style="solid", color="burlywood", weight=9]; 8567 -> 4740[label="",style="solid", color="burlywood", weight=3]; 8568[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4464 -> 8568[label="",style="solid", color="burlywood", weight=9]; 8568 -> 4741[label="",style="solid", color="burlywood", weight=3]; 4465[label="primRemInt (Neg vuz1560) (Pos vuz1550)",fontsize=16,color="burlywood",shape="box"];8569[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4465 -> 8569[label="",style="solid", color="burlywood", weight=9]; 8569 -> 4742[label="",style="solid", color="burlywood", weight=3]; 8570[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4465 -> 8570[label="",style="solid", color="burlywood", weight=9]; 8570 -> 4743[label="",style="solid", color="burlywood", weight=3]; 4466[label="primRemInt (Neg vuz1560) (Neg vuz1550)",fontsize=16,color="burlywood",shape="box"];8571[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4466 -> 8571[label="",style="solid", color="burlywood", weight=9]; 8571 -> 4744[label="",style="solid", color="burlywood", weight=3]; 8572[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4466 -> 8572[label="",style="solid", color="burlywood", weight=9]; 8572 -> 4745[label="",style="solid", color="burlywood", weight=3]; 7805[label="vuz4520",fontsize=16,color="green",shape="box"];7806[label="vuz4530",fontsize=16,color="green",shape="box"];7102[label="Pos Zero",fontsize=16,color="green",shape="box"];7103[label="signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) vuz427 == GT)",fontsize=16,color="black",shape="box"];7103 -> 7152[label="",style="solid", color="black", weight=3]; 7322[label="signumReal1 (Neg Zero) (LT == GT)",fontsize=16,color="black",shape="box"];7322 -> 7338[label="",style="solid", color="black", weight=3]; 7323[label="signumReal1 (Neg Zero) (EQ == GT)",fontsize=16,color="black",shape="triangle"];7323 -> 7339[label="",style="solid", color="black", weight=3]; 7324[label="signumReal1 (Neg Zero) (primCmpNat (Succ vuz43100) Zero == GT)",fontsize=16,color="black",shape="box"];7324 -> 7340[label="",style="solid", color="black", weight=3]; 7325 -> 7323[label="",style="dashed", color="red", weight=0]; 7325[label="signumReal1 (Neg Zero) (EQ == GT)",fontsize=16,color="magenta"];1837[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1837 -> 2012[label="",style="solid", color="black", weight=3]; 1838[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1838 -> 2013[label="",style="solid", color="black", weight=3]; 4829[label="Integer vuz268 `quot` gcd0Gcd'2 (abs (Integer vuz298)) (abs (Integer vuz269))",fontsize=16,color="black",shape="box"];4829 -> 4833[label="",style="solid", color="black", weight=3]; 6276[label="Integer vuz268 `quot` gcd0 (Integer vuz299) (Integer vuz269)",fontsize=16,color="black",shape="box"];6276 -> 6976[label="",style="solid", color="black", weight=3]; 6277[label="Integer vuz268 `quot` error []",fontsize=16,color="black",shape="triangle"];6277 -> 6977[label="",style="solid", color="black", weight=3]; 4720 -> 2647[label="",style="dashed", color="red", weight=0]; 4720[label="primEqInt (primMulInt vuz8 (Neg (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];4720 -> 4773[label="",style="dashed", color="magenta", weight=3]; 4720 -> 4774[label="",style="dashed", color="magenta", weight=3]; 4721[label="Integer vuz268 `quot` gcd0 (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="black",shape="box"];4721 -> 4775[label="",style="solid", color="black", weight=3]; 4722 -> 6053[label="",style="dashed", color="red", weight=0]; 4722[label="Integer vuz268 `quot` gcd1 (Integer vuz269 == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="magenta"];4722 -> 6098[label="",style="dashed", color="magenta", weight=3]; 4722 -> 6099[label="",style="dashed", color="magenta", weight=3]; 4808[label="Pos Zero",fontsize=16,color="green",shape="box"];4809[label="Pos Zero",fontsize=16,color="green",shape="box"];4810[label="Pos Zero",fontsize=16,color="green",shape="box"];4811[label="Neg Zero",fontsize=16,color="green",shape="box"];4812[label="Pos Zero",fontsize=16,color="green",shape="box"];4813[label="Pos Zero",fontsize=16,color="green",shape="box"];1853[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * Integer (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Neg (Succ Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1853 -> 2030[label="",style="solid", color="black", weight=3]; 4814[label="Pos Zero",fontsize=16,color="green",shape="box"];4815[label="Neg Zero",fontsize=16,color="green",shape="box"];4816[label="Neg Zero",fontsize=16,color="green",shape="box"];4817[label="Neg Zero",fontsize=16,color="green",shape="box"];4818[label="Neg Zero",fontsize=16,color="green",shape="box"];4819[label="Neg Zero",fontsize=16,color="green",shape="box"];4276[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos (Succ vuz196)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal2 (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];4276 -> 4748[label="",style="solid", color="black", weight=3]; 4277 -> 4749[label="",style="dashed", color="red", weight=0]; 4277[label="Integer (Pos vuz209) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4277 -> 4750[label="",style="dashed", color="magenta", weight=3]; 4278[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos (Succ vuz204)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal2 (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];4278 -> 4777[label="",style="solid", color="black", weight=3]; 4279 -> 4778[label="",style="dashed", color="red", weight=0]; 4279[label="Integer (Neg vuz213) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4279 -> 4779[label="",style="dashed", color="magenta", weight=3]; 1961[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1961 -> 2271[label="",style="solid", color="black", weight=3]; 1962[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1962 -> 2272[label="",style="solid", color="black", weight=3]; 1963[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1963 -> 2273[label="",style="solid", color="black", weight=3]; 1964[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1964 -> 2274[label="",style="solid", color="black", weight=3]; 4723[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4723 -> 4786[label="",style="solid", color="black", weight=3]; 4724[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];4725[label="Integer (Neg vuz216) `quot` gcd1 False (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4725 -> 4787[label="",style="solid", color="black", weight=3]; 4726[label="Integer (Neg vuz216) `quot` gcd1 True (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4726 -> 4788[label="",style="solid", color="black", weight=3]; 4727[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4727 -> 4789[label="",style="solid", color="black", weight=3]; 4728[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];4729[label="Integer (Pos vuz226) `quot` gcd1 False (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4729 -> 4790[label="",style="solid", color="black", weight=3]; 4730[label="Integer (Pos vuz226) `quot` gcd1 True (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4730 -> 4791[label="",style="solid", color="black", weight=3]; 1982[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1982 -> 2304[label="",style="solid", color="black", weight=3]; 1983[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1983 -> 2305[label="",style="solid", color="black", weight=3]; 1984[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1984 -> 2306[label="",style="solid", color="black", weight=3]; 1985[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1985 -> 2307[label="",style="solid", color="black", weight=3]; 7699[label="vuz900",fontsize=16,color="green",shape="box"];7700[label="vuz4140",fontsize=16,color="green",shape="box"];7701[label="Succ vuz900",fontsize=16,color="green",shape="box"];7698[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat vuz458 vuz459 == GT)",fontsize=16,color="burlywood",shape="triangle"];8573[label="vuz458/Succ vuz4580",fontsize=10,color="white",style="solid",shape="box"];7698 -> 8573[label="",style="solid", color="burlywood", weight=9]; 8573 -> 7722[label="",style="solid", color="burlywood", weight=3]; 8574[label="vuz458/Zero",fontsize=10,color="white",style="solid",shape="box"];7698 -> 8574[label="",style="solid", color="burlywood", weight=9]; 8574 -> 7723[label="",style="solid", color="burlywood", weight=3]; 7141[label="signumReal1 (Pos (Succ vuz900)) True",fontsize=16,color="black",shape="box"];7141 -> 7179[label="",style="solid", color="black", weight=3]; 7142[label="signumReal1 (Pos Zero) (LT == GT)",fontsize=16,color="black",shape="box"];7142 -> 7180[label="",style="solid", color="black", weight=3]; 7143[label="signumReal1 (Pos Zero) False",fontsize=16,color="black",shape="triangle"];7143 -> 7181[label="",style="solid", color="black", weight=3]; 7144[label="signumReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];7144 -> 7182[label="",style="solid", color="black", weight=3]; 4738[label="primRemInt (Pos vuz1560) (Pos (Succ vuz15500))",fontsize=16,color="black",shape="box"];4738 -> 4842[label="",style="solid", color="black", weight=3]; 4739[label="primRemInt (Pos vuz1560) (Pos Zero)",fontsize=16,color="black",shape="box"];4739 -> 4843[label="",style="solid", color="black", weight=3]; 4740[label="primRemInt (Pos vuz1560) (Neg (Succ vuz15500))",fontsize=16,color="black",shape="box"];4740 -> 4844[label="",style="solid", color="black", weight=3]; 4741[label="primRemInt (Pos vuz1560) (Neg Zero)",fontsize=16,color="black",shape="box"];4741 -> 4845[label="",style="solid", color="black", weight=3]; 4742[label="primRemInt (Neg vuz1560) (Pos (Succ vuz15500))",fontsize=16,color="black",shape="box"];4742 -> 4846[label="",style="solid", color="black", weight=3]; 4743[label="primRemInt (Neg vuz1560) (Pos Zero)",fontsize=16,color="black",shape="box"];4743 -> 4847[label="",style="solid", color="black", weight=3]; 4744[label="primRemInt (Neg vuz1560) (Neg (Succ vuz15500))",fontsize=16,color="black",shape="box"];4744 -> 4848[label="",style="solid", color="black", weight=3]; 4745[label="primRemInt (Neg vuz1560) (Neg Zero)",fontsize=16,color="black",shape="box"];4745 -> 4849[label="",style="solid", color="black", weight=3]; 7152[label="signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) vuz427 == GT)",fontsize=16,color="burlywood",shape="box"];8575[label="vuz427/Pos vuz4270",fontsize=10,color="white",style="solid",shape="box"];7152 -> 8575[label="",style="solid", color="burlywood", weight=9]; 8575 -> 7190[label="",style="solid", color="burlywood", weight=3]; 8576[label="vuz427/Neg vuz4270",fontsize=10,color="white",style="solid",shape="box"];7152 -> 8576[label="",style="solid", color="burlywood", weight=9]; 8576 -> 7191[label="",style="solid", color="burlywood", weight=3]; 7338[label="signumReal1 (Neg Zero) False",fontsize=16,color="black",shape="triangle"];7338 -> 7344[label="",style="solid", color="black", weight=3]; 7339 -> 7338[label="",style="dashed", color="red", weight=0]; 7339[label="signumReal1 (Neg Zero) False",fontsize=16,color="magenta"];7340[label="signumReal1 (Neg Zero) (GT == GT)",fontsize=16,color="black",shape="box"];7340 -> 7345[label="",style="solid", color="black", weight=3]; 2012 -> 5797[label="",style="dashed", color="red", weight=0]; 2012[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat vuz80 (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];2012 -> 5806[label="",style="dashed", color="magenta", weight=3]; 2012 -> 5807[label="",style="dashed", color="magenta", weight=3]; 2013 -> 5931[label="",style="dashed", color="red", weight=0]; 2013[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat vuz80 (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];2013 -> 5940[label="",style="dashed", color="magenta", weight=3]; 2013 -> 5941[label="",style="dashed", color="magenta", weight=3]; 4833[label="Integer vuz268 `quot` gcd0Gcd'1 (abs (Integer vuz269) == fromInt (Pos Zero)) (abs (Integer vuz298)) (abs (Integer vuz269))",fontsize=16,color="black",shape="box"];4833 -> 5323[label="",style="solid", color="black", weight=3]; 6976 -> 4807[label="",style="dashed", color="red", weight=0]; 6976[label="Integer vuz268 `quot` gcd0Gcd' (abs (Integer vuz299)) (abs (Integer vuz269))",fontsize=16,color="magenta"];6976 -> 7032[label="",style="dashed", color="magenta", weight=3]; 6977[label="error []",fontsize=16,color="red",shape="box"];4773[label="Pos Zero",fontsize=16,color="green",shape="box"];4774[label="primMulInt vuz8 (Neg (Succ Zero))",fontsize=16,color="burlywood",shape="triangle"];8577[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];4774 -> 8577[label="",style="solid", color="burlywood", weight=9]; 8577 -> 4805[label="",style="solid", color="burlywood", weight=3]; 8578[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];4774 -> 8578[label="",style="solid", color="burlywood", weight=9]; 8578 -> 4806[label="",style="solid", color="burlywood", weight=3]; 4775 -> 4807[label="",style="dashed", color="red", weight=0]; 4775[label="Integer vuz268 `quot` gcd0Gcd' (abs (Integer (primMulInt vuz8 (Neg (Succ Zero))))) (abs (Integer vuz269))",fontsize=16,color="magenta"];4775 -> 4826[label="",style="dashed", color="magenta", weight=3]; 6098 -> 4774[label="",style="dashed", color="red", weight=0]; 6098[label="primMulInt vuz8 (Neg (Succ Zero))",fontsize=16,color="magenta"];6099[label="Integer vuz269 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];6099 -> 6202[label="",style="solid", color="black", weight=3]; 2030 -> 4467[label="",style="dashed", color="red", weight=0]; 2030[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="magenta"];2030 -> 4482[label="",style="dashed", color="magenta", weight=3]; 2030 -> 4483[label="",style="dashed", color="magenta", weight=3]; 2030 -> 4484[label="",style="dashed", color="magenta", weight=3]; 4748[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz196)))) (abs (Integer (Pos (Succ vuz196))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (abs (Integer (Pos (Succ vuz196)))) (abs (Integer (Pos (Succ vuz196))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4748 -> 4857[label="",style="solid", color="black", weight=3]; 4750 -> 47[label="",style="dashed", color="red", weight=0]; 4750[label="absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4750 -> 4858[label="",style="dashed", color="magenta", weight=3]; 4749[label="Integer (Pos vuz209) `quot` gcd1 vuz296 (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8579[label="vuz296/False",fontsize=10,color="white",style="solid",shape="box"];4749 -> 8579[label="",style="solid", color="burlywood", weight=9]; 8579 -> 4859[label="",style="solid", color="burlywood", weight=3]; 8580[label="vuz296/True",fontsize=10,color="white",style="solid",shape="box"];4749 -> 8580[label="",style="solid", color="burlywood", weight=9]; 8580 -> 4860[label="",style="solid", color="burlywood", weight=3]; 4777[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz204)))) (abs (Integer (Pos (Succ vuz204))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (abs (Integer (Pos (Succ vuz204)))) (abs (Integer (Pos (Succ vuz204))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4777 -> 4861[label="",style="solid", color="black", weight=3]; 4779 -> 47[label="",style="dashed", color="red", weight=0]; 4779[label="absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4779 -> 4862[label="",style="dashed", color="magenta", weight=3]; 4778[label="Integer (Neg vuz213) `quot` gcd1 vuz297 (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8581[label="vuz297/False",fontsize=10,color="white",style="solid",shape="box"];4778 -> 8581[label="",style="solid", color="burlywood", weight=9]; 8581 -> 4863[label="",style="solid", color="burlywood", weight=3]; 8582[label="vuz297/True",fontsize=10,color="white",style="solid",shape="box"];4778 -> 8582[label="",style="solid", color="burlywood", weight=9]; 8582 -> 4864[label="",style="solid", color="burlywood", weight=3]; 2271[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2271 -> 3588[label="",style="solid", color="black", weight=3]; 2272[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2272 -> 3589[label="",style="solid", color="black", weight=3]; 2273[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2273 -> 3590[label="",style="solid", color="black", weight=3]; 2274[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2274 -> 3591[label="",style="solid", color="black", weight=3]; 4786[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4786 -> 4865[label="",style="solid", color="black", weight=3]; 4787[label="Integer (Neg vuz216) `quot` gcd0 (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4787 -> 4866[label="",style="solid", color="black", weight=3]; 4788[label="Integer (Neg vuz216) `quot` error []",fontsize=16,color="black",shape="box"];4788 -> 4867[label="",style="solid", color="black", weight=3]; 4789[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4789 -> 4868[label="",style="solid", color="black", weight=3]; 4790[label="Integer (Pos vuz226) `quot` gcd0 (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4790 -> 4869[label="",style="solid", color="black", weight=3]; 4791[label="Integer (Pos vuz226) `quot` error []",fontsize=16,color="black",shape="box"];4791 -> 4870[label="",style="solid", color="black", weight=3]; 2304[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2304 -> 3785[label="",style="solid", color="black", weight=3]; 2305[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2305 -> 3786[label="",style="solid", color="black", weight=3]; 2306[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2306 -> 3787[label="",style="solid", color="black", weight=3]; 2307[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2307 -> 3788[label="",style="solid", color="black", weight=3]; 7722[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat (Succ vuz4580) vuz459 == GT)",fontsize=16,color="burlywood",shape="box"];8583[label="vuz459/Succ vuz4590",fontsize=10,color="white",style="solid",shape="box"];7722 -> 8583[label="",style="solid", color="burlywood", weight=9]; 8583 -> 7750[label="",style="solid", color="burlywood", weight=3]; 8584[label="vuz459/Zero",fontsize=10,color="white",style="solid",shape="box"];7722 -> 8584[label="",style="solid", color="burlywood", weight=9]; 8584 -> 7751[label="",style="solid", color="burlywood", weight=3]; 7723[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat Zero vuz459 == GT)",fontsize=16,color="burlywood",shape="box"];8585[label="vuz459/Succ vuz4590",fontsize=10,color="white",style="solid",shape="box"];7723 -> 8585[label="",style="solid", color="burlywood", weight=9]; 8585 -> 7752[label="",style="solid", color="burlywood", weight=3]; 8586[label="vuz459/Zero",fontsize=10,color="white",style="solid",shape="box"];7723 -> 8586[label="",style="solid", color="burlywood", weight=9]; 8586 -> 7753[label="",style="solid", color="burlywood", weight=3]; 7179 -> 2609[label="",style="dashed", color="red", weight=0]; 7179[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7179 -> 7211[label="",style="dashed", color="magenta", weight=3]; 7180 -> 7143[label="",style="dashed", color="red", weight=0]; 7180[label="signumReal1 (Pos Zero) False",fontsize=16,color="magenta"];7181[label="signumReal0 (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];7181 -> 7212[label="",style="solid", color="black", weight=3]; 7182 -> 2609[label="",style="dashed", color="red", weight=0]; 7182[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7182 -> 7213[label="",style="dashed", color="magenta", weight=3]; 4842[label="Pos (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4842 -> 5923[label="",style="dashed", color="green", weight=3]; 4843 -> 3082[label="",style="dashed", color="red", weight=0]; 4843[label="error []",fontsize=16,color="magenta"];4844[label="Pos (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4844 -> 5924[label="",style="dashed", color="green", weight=3]; 4845 -> 3082[label="",style="dashed", color="red", weight=0]; 4845[label="error []",fontsize=16,color="magenta"];4846[label="Neg (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4846 -> 5925[label="",style="dashed", color="green", weight=3]; 4847 -> 3082[label="",style="dashed", color="red", weight=0]; 4847[label="error []",fontsize=16,color="magenta"];4848[label="Neg (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4848 -> 5926[label="",style="dashed", color="green", weight=3]; 4849 -> 3082[label="",style="dashed", color="red", weight=0]; 4849[label="error []",fontsize=16,color="magenta"];7190[label="signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos vuz4270) == GT)",fontsize=16,color="black",shape="box"];7190 -> 7222[label="",style="solid", color="black", weight=3]; 7191[label="signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Neg vuz4270) == GT)",fontsize=16,color="black",shape="box"];7191 -> 7223[label="",style="solid", color="black", weight=3]; 7344[label="signumReal0 (Neg Zero) otherwise",fontsize=16,color="black",shape="box"];7344 -> 7349[label="",style="solid", color="black", weight=3]; 7345[label="signumReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];7345 -> 7350[label="",style="solid", color="black", weight=3]; 5806 -> 2647[label="",style="dashed", color="red", weight=0]; 5806[label="primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];5806 -> 5927[label="",style="dashed", color="magenta", weight=3]; 5806 -> 5928[label="",style="dashed", color="magenta", weight=3]; 5807 -> 4436[label="",style="dashed", color="red", weight=0]; 5807[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5807 -> 5929[label="",style="dashed", color="magenta", weight=3]; 5807 -> 5930[label="",style="dashed", color="magenta", weight=3]; 5940 -> 4436[label="",style="dashed", color="red", weight=0]; 5940[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5940 -> 6040[label="",style="dashed", color="magenta", weight=3]; 5940 -> 6041[label="",style="dashed", color="magenta", weight=3]; 5941 -> 2647[label="",style="dashed", color="red", weight=0]; 5941[label="primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];5941 -> 6042[label="",style="dashed", color="magenta", weight=3]; 5941 -> 6043[label="",style="dashed", color="magenta", weight=3]; 5323[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal (Integer vuz269) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal (Integer vuz269))",fontsize=16,color="black",shape="box"];5323 -> 6203[label="",style="solid", color="black", weight=3]; 7032[label="vuz299",fontsize=16,color="green",shape="box"];4805[label="primMulInt (Pos vuz80) (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];4805 -> 4884[label="",style="solid", color="black", weight=3]; 4806[label="primMulInt (Neg vuz80) (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];4806 -> 4885[label="",style="solid", color="black", weight=3]; 4826 -> 4774[label="",style="dashed", color="red", weight=0]; 4826[label="primMulInt vuz8 (Neg (Succ Zero))",fontsize=16,color="magenta"];6202[label="Integer vuz269 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];6202 -> 6284[label="",style="solid", color="black", weight=3]; 4482 -> 4468[label="",style="dashed", color="red", weight=0]; 4482[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4483 -> 2686[label="",style="dashed", color="red", weight=0]; 4483[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];4483 -> 4887[label="",style="dashed", color="magenta", weight=3]; 4484 -> 2686[label="",style="dashed", color="red", weight=0]; 4484[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];4484 -> 4888[label="",style="dashed", color="magenta", weight=3]; 4857[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz196)))) (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (abs (Integer (Pos (Succ vuz196)))) (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4857 -> 5773[label="",style="solid", color="black", weight=3]; 4858[label="Pos (Succ vuz196)",fontsize=16,color="green",shape="box"];4859[label="Integer (Pos vuz209) `quot` gcd1 False (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4859 -> 5774[label="",style="solid", color="black", weight=3]; 4860[label="Integer (Pos vuz209) `quot` gcd1 True (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4860 -> 5775[label="",style="solid", color="black", weight=3]; 4861[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz204)))) (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (abs (Integer (Pos (Succ vuz204)))) (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4861 -> 5776[label="",style="solid", color="black", weight=3]; 4862[label="Pos (Succ vuz204)",fontsize=16,color="green",shape="box"];4863[label="Integer (Neg vuz213) `quot` gcd1 False (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4863 -> 5777[label="",style="solid", color="black", weight=3]; 4864[label="Integer (Neg vuz213) `quot` gcd1 True (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4864 -> 5778[label="",style="solid", color="black", weight=3]; 3588[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3588 -> 5779[label="",style="solid", color="black", weight=3]; 3589[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3589 -> 5780[label="",style="solid", color="black", weight=3]; 3590[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3590 -> 5781[label="",style="solid", color="black", weight=3]; 3591[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3591 -> 5782[label="",style="solid", color="black", weight=3]; 4865[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4865 -> 5783[label="",style="solid", color="black", weight=3]; 4866[label="Integer (Neg vuz216) `quot` gcd0Gcd' (abs (Integer (Neg vuz217))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];4866 -> 5784[label="",style="solid", color="black", weight=3]; 4867[label="error []",fontsize=16,color="red",shape="box"];4868[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4868 -> 5785[label="",style="solid", color="black", weight=3]; 4869[label="Integer (Pos vuz226) `quot` gcd0Gcd' (abs (Integer (Pos vuz227))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];4869 -> 5786[label="",style="solid", color="black", weight=3]; 4870[label="error []",fontsize=16,color="red",shape="box"];3785[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3785 -> 5787[label="",style="solid", color="black", weight=3]; 3786[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3786 -> 5788[label="",style="solid", color="black", weight=3]; 3787[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3787 -> 5789[label="",style="solid", color="black", weight=3]; 3788[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3788 -> 5790[label="",style="solid", color="black", weight=3]; 7750[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat (Succ vuz4580) (Succ vuz4590) == GT)",fontsize=16,color="black",shape="box"];7750 -> 7780[label="",style="solid", color="black", weight=3]; 7751[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat (Succ vuz4580) Zero == GT)",fontsize=16,color="black",shape="box"];7751 -> 7781[label="",style="solid", color="black", weight=3]; 7752[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat Zero (Succ vuz4590) == GT)",fontsize=16,color="black",shape="box"];7752 -> 7782[label="",style="solid", color="black", weight=3]; 7753[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];7753 -> 7783[label="",style="solid", color="black", weight=3]; 7211[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7212[label="signumReal0 (Pos Zero) True",fontsize=16,color="black",shape="box"];7212 -> 7251[label="",style="solid", color="black", weight=3]; 7213[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];5923[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="burlywood",shape="triangle"];8587[label="vuz1560/Succ vuz15600",fontsize=10,color="white",style="solid",shape="box"];5923 -> 8587[label="",style="solid", color="burlywood", weight=9]; 8587 -> 6044[label="",style="solid", color="burlywood", weight=3]; 8588[label="vuz1560/Zero",fontsize=10,color="white",style="solid",shape="box"];5923 -> 8588[label="",style="solid", color="burlywood", weight=9]; 8588 -> 6045[label="",style="solid", color="burlywood", weight=3]; 5924 -> 5923[label="",style="dashed", color="red", weight=0]; 5924[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="magenta"];5924 -> 6046[label="",style="dashed", color="magenta", weight=3]; 5925 -> 5923[label="",style="dashed", color="red", weight=0]; 5925[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="magenta"];5925 -> 6047[label="",style="dashed", color="magenta", weight=3]; 5926 -> 5923[label="",style="dashed", color="red", weight=0]; 5926[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="magenta"];5926 -> 6048[label="",style="dashed", color="magenta", weight=3]; 5926 -> 6049[label="",style="dashed", color="magenta", weight=3]; 7222[label="signumReal1 (Neg (Succ vuz900)) (LT == GT)",fontsize=16,color="black",shape="triangle"];7222 -> 7264[label="",style="solid", color="black", weight=3]; 7223 -> 7812[label="",style="dashed", color="red", weight=0]; 7223[label="signumReal1 (Neg (Succ vuz900)) (primCmpNat vuz4270 (Succ vuz900) == GT)",fontsize=16,color="magenta"];7223 -> 7813[label="",style="dashed", color="magenta", weight=3]; 7223 -> 7814[label="",style="dashed", color="magenta", weight=3]; 7223 -> 7815[label="",style="dashed", color="magenta", weight=3]; 7349[label="signumReal0 (Neg Zero) True",fontsize=16,color="black",shape="box"];7349 -> 7353[label="",style="solid", color="black", weight=3]; 7350 -> 2609[label="",style="dashed", color="red", weight=0]; 7350[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7350 -> 7354[label="",style="dashed", color="magenta", weight=3]; 5927[label="Pos Zero",fontsize=16,color="green",shape="box"];5928[label="Pos (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];5928 -> 6050[label="",style="dashed", color="green", weight=3]; 5929[label="Succ Zero",fontsize=16,color="green",shape="box"];5930[label="vuz80",fontsize=16,color="green",shape="box"];6040[label="Succ Zero",fontsize=16,color="green",shape="box"];6041[label="vuz80",fontsize=16,color="green",shape="box"];6042[label="Pos Zero",fontsize=16,color="green",shape="box"];6043[label="Neg (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];6043 -> 6204[label="",style="dashed", color="green", weight=3]; 6203[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal2 (Integer vuz269) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal2 (Integer vuz269))",fontsize=16,color="black",shape="box"];6203 -> 6285[label="",style="solid", color="black", weight=3]; 4884[label="Neg (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];4884 -> 6051[label="",style="dashed", color="green", weight=3]; 4885[label="Pos (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];4885 -> 6052[label="",style="dashed", color="green", weight=3]; 6284 -> 2647[label="",style="dashed", color="red", weight=0]; 6284[label="primEqInt vuz269 (Pos Zero)",fontsize=16,color="magenta"];6284 -> 6978[label="",style="dashed", color="magenta", weight=3]; 6284 -> 6979[label="",style="dashed", color="magenta", weight=3]; 4887[label="vuz900",fontsize=16,color="green",shape="box"];4888[label="vuz900",fontsize=16,color="green",shape="box"];5773[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz196)))) (not (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (abs (Integer (Pos (Succ vuz196)))) (not (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5773 -> 6980[label="",style="solid", color="black", weight=3]; 5774[label="Integer (Pos vuz209) `quot` gcd0 (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5774 -> 6981[label="",style="solid", color="black", weight=3]; 5775 -> 6277[label="",style="dashed", color="red", weight=0]; 5775[label="Integer (Pos vuz209) `quot` error []",fontsize=16,color="magenta"];5775 -> 6982[label="",style="dashed", color="magenta", weight=3]; 5776[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz204)))) (not (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (abs (Integer (Pos (Succ vuz204)))) (not (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5776 -> 6983[label="",style="solid", color="black", weight=3]; 5777[label="Integer (Neg vuz213) `quot` gcd0 (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5777 -> 6984[label="",style="solid", color="black", weight=3]; 5778 -> 6277[label="",style="dashed", color="red", weight=0]; 5778[label="Integer (Neg vuz213) `quot` error []",fontsize=16,color="magenta"];5778 -> 6985[label="",style="dashed", color="magenta", weight=3]; 5779[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5779 -> 6986[label="",style="solid", color="black", weight=3]; 5780 -> 1961[label="",style="dashed", color="red", weight=0]; 5780[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];5781[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5781 -> 6987[label="",style="solid", color="black", weight=3]; 5782 -> 1963[label="",style="dashed", color="red", weight=0]; 5782[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];5783[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5783 -> 6988[label="",style="solid", color="black", weight=3]; 5784[label="Integer (Neg vuz216) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz217))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];5784 -> 6989[label="",style="solid", color="black", weight=3]; 5785[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5785 -> 6990[label="",style="solid", color="black", weight=3]; 5786[label="Integer (Pos vuz226) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz227))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];5786 -> 6991[label="",style="solid", color="black", weight=3]; 5787[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5787 -> 6992[label="",style="solid", color="black", weight=3]; 5788 -> 1982[label="",style="dashed", color="red", weight=0]; 5788[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];5789[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5789 -> 6993[label="",style="solid", color="black", weight=3]; 5790 -> 1984[label="",style="dashed", color="red", weight=0]; 5790[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7780 -> 7698[label="",style="dashed", color="red", weight=0]; 7780[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat vuz4580 vuz4590 == GT)",fontsize=16,color="magenta"];7780 -> 7807[label="",style="dashed", color="magenta", weight=3]; 7780 -> 7808[label="",style="dashed", color="magenta", weight=3]; 7781[label="signumReal1 (Pos (Succ vuz457)) (GT == GT)",fontsize=16,color="black",shape="box"];7781 -> 7809[label="",style="solid", color="black", weight=3]; 7782[label="signumReal1 (Pos (Succ vuz457)) (LT == GT)",fontsize=16,color="black",shape="box"];7782 -> 7810[label="",style="solid", color="black", weight=3]; 7783[label="signumReal1 (Pos (Succ vuz457)) (EQ == GT)",fontsize=16,color="black",shape="box"];7783 -> 7811[label="",style="solid", color="black", weight=3]; 7251 -> 2609[label="",style="dashed", color="red", weight=0]; 7251[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7251 -> 7271[label="",style="dashed", color="magenta", weight=3]; 6044[label="primModNatS (Succ vuz15600) (Succ vuz15500)",fontsize=16,color="black",shape="box"];6044 -> 6994[label="",style="solid", color="black", weight=3]; 6045[label="primModNatS Zero (Succ vuz15500)",fontsize=16,color="black",shape="box"];6045 -> 6995[label="",style="solid", color="black", weight=3]; 6046[label="vuz15500",fontsize=16,color="green",shape="box"];6047[label="vuz1560",fontsize=16,color="green",shape="box"];6048[label="vuz15500",fontsize=16,color="green",shape="box"];6049[label="vuz1560",fontsize=16,color="green",shape="box"];7264[label="signumReal1 (Neg (Succ vuz900)) False",fontsize=16,color="black",shape="triangle"];7264 -> 7296[label="",style="solid", color="black", weight=3]; 7813[label="vuz4270",fontsize=16,color="green",shape="box"];7814[label="vuz900",fontsize=16,color="green",shape="box"];7815[label="Succ vuz900",fontsize=16,color="green",shape="box"];7812[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat vuz462 vuz463 == GT)",fontsize=16,color="burlywood",shape="triangle"];8589[label="vuz462/Succ vuz4620",fontsize=10,color="white",style="solid",shape="box"];7812 -> 8589[label="",style="solid", color="burlywood", weight=9]; 8589 -> 7834[label="",style="solid", color="burlywood", weight=3]; 8590[label="vuz462/Zero",fontsize=10,color="white",style="solid",shape="box"];7812 -> 8590[label="",style="solid", color="burlywood", weight=9]; 8590 -> 7835[label="",style="solid", color="burlywood", weight=3]; 7353 -> 2609[label="",style="dashed", color="red", weight=0]; 7353[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7353 -> 7401[label="",style="dashed", color="magenta", weight=3]; 7354[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];6050 -> 4436[label="",style="dashed", color="red", weight=0]; 6050[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6050 -> 6996[label="",style="dashed", color="magenta", weight=3]; 6050 -> 6997[label="",style="dashed", color="magenta", weight=3]; 6204 -> 4436[label="",style="dashed", color="red", weight=0]; 6204[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6204 -> 6998[label="",style="dashed", color="magenta", weight=3]; 6204 -> 6999[label="",style="dashed", color="magenta", weight=3]; 6285[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz269) (Integer vuz269 >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal1 (Integer vuz269) (Integer vuz269 >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];6285 -> 7000[label="",style="solid", color="black", weight=3]; 6051 -> 4436[label="",style="dashed", color="red", weight=0]; 6051[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6051 -> 7001[label="",style="dashed", color="magenta", weight=3]; 6051 -> 7002[label="",style="dashed", color="magenta", weight=3]; 6052 -> 4436[label="",style="dashed", color="red", weight=0]; 6052[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6052 -> 7003[label="",style="dashed", color="magenta", weight=3]; 6052 -> 7004[label="",style="dashed", color="magenta", weight=3]; 6978[label="Pos Zero",fontsize=16,color="green",shape="box"];6979[label="vuz269",fontsize=16,color="green",shape="box"];6980[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos (Succ vuz196)))) (not (compare (absReal (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal (Integer (Pos (Succ vuz196)))) (not (compare (absReal (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6980 -> 7033[label="",style="solid", color="black", weight=3]; 6981[label="Integer (Pos vuz209) `quot` gcd0Gcd' (abs (Integer (Pos vuz210))) (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6981 -> 7034[label="",style="solid", color="black", weight=3]; 6982[label="Pos vuz209",fontsize=16,color="green",shape="box"];6983[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos (Succ vuz204)))) (not (compare (absReal (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal (Integer (Pos (Succ vuz204)))) (not (compare (absReal (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6983 -> 7035[label="",style="solid", color="black", weight=3]; 6984[label="Integer (Neg vuz213) `quot` gcd0Gcd' (abs (Integer (Neg vuz214))) (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6984 -> 7036[label="",style="solid", color="black", weight=3]; 6985[label="Neg vuz213",fontsize=16,color="green",shape="box"];6986[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6986 -> 7037[label="",style="solid", color="black", weight=3]; 6987[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6987 -> 7038[label="",style="solid", color="black", weight=3]; 6988[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6988 -> 7039[label="",style="solid", color="black", weight=3]; 6989[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6989 -> 7040[label="",style="solid", color="black", weight=3]; 6990[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6990 -> 7041[label="",style="solid", color="black", weight=3]; 6991[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6991 -> 7042[label="",style="solid", color="black", weight=3]; 6992[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6992 -> 7043[label="",style="solid", color="black", weight=3]; 6993[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6993 -> 7044[label="",style="solid", color="black", weight=3]; 7807[label="vuz4590",fontsize=16,color="green",shape="box"];7808[label="vuz4580",fontsize=16,color="green",shape="box"];7809[label="signumReal1 (Pos (Succ vuz457)) True",fontsize=16,color="black",shape="box"];7809 -> 7836[label="",style="solid", color="black", weight=3]; 7810[label="signumReal1 (Pos (Succ vuz457)) False",fontsize=16,color="black",shape="triangle"];7810 -> 7837[label="",style="solid", color="black", weight=3]; 7811 -> 7810[label="",style="dashed", color="red", weight=0]; 7811[label="signumReal1 (Pos (Succ vuz457)) False",fontsize=16,color="magenta"];7271[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];6994[label="primModNatS0 vuz15600 vuz15500 (primGEqNatS vuz15600 vuz15500)",fontsize=16,color="burlywood",shape="box"];8591[label="vuz15600/Succ vuz156000",fontsize=10,color="white",style="solid",shape="box"];6994 -> 8591[label="",style="solid", color="burlywood", weight=9]; 8591 -> 7045[label="",style="solid", color="burlywood", weight=3]; 8592[label="vuz15600/Zero",fontsize=10,color="white",style="solid",shape="box"];6994 -> 8592[label="",style="solid", color="burlywood", weight=9]; 8592 -> 7046[label="",style="solid", color="burlywood", weight=3]; 6995[label="Zero",fontsize=16,color="green",shape="box"];7296[label="signumReal0 (Neg (Succ vuz900)) otherwise",fontsize=16,color="black",shape="box"];7296 -> 7326[label="",style="solid", color="black", weight=3]; 7834[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat (Succ vuz4620) vuz463 == GT)",fontsize=16,color="burlywood",shape="box"];8593[label="vuz463/Succ vuz4630",fontsize=10,color="white",style="solid",shape="box"];7834 -> 8593[label="",style="solid", color="burlywood", weight=9]; 8593 -> 7843[label="",style="solid", color="burlywood", weight=3]; 8594[label="vuz463/Zero",fontsize=10,color="white",style="solid",shape="box"];7834 -> 8594[label="",style="solid", color="burlywood", weight=9]; 8594 -> 7844[label="",style="solid", color="burlywood", weight=3]; 7835[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat Zero vuz463 == GT)",fontsize=16,color="burlywood",shape="box"];8595[label="vuz463/Succ vuz4630",fontsize=10,color="white",style="solid",shape="box"];7835 -> 8595[label="",style="solid", color="burlywood", weight=9]; 8595 -> 7845[label="",style="solid", color="burlywood", weight=3]; 8596[label="vuz463/Zero",fontsize=10,color="white",style="solid",shape="box"];7835 -> 8596[label="",style="solid", color="burlywood", weight=9]; 8596 -> 7846[label="",style="solid", color="burlywood", weight=3]; 7401[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];6996[label="Succ Zero",fontsize=16,color="green",shape="box"];6997[label="vuz80",fontsize=16,color="green",shape="box"];6998[label="Succ Zero",fontsize=16,color="green",shape="box"];6999[label="vuz80",fontsize=16,color="green",shape="box"];7000[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz269) (compare (Integer vuz269) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal1 (Integer vuz269) (compare (Integer vuz269) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7000 -> 7047[label="",style="solid", color="black", weight=3]; 7001[label="Succ Zero",fontsize=16,color="green",shape="box"];7002[label="vuz80",fontsize=16,color="green",shape="box"];7003[label="Succ Zero",fontsize=16,color="green",shape="box"];7004[label="vuz80",fontsize=16,color="green",shape="box"];7033[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos (Succ vuz196)))) (not (compare (absReal2 (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal2 (Integer (Pos (Succ vuz196)))) (not (compare (absReal2 (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7033 -> 7104[label="",style="solid", color="black", weight=3]; 7034[label="Integer (Pos vuz209) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz210))) (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7034 -> 7105[label="",style="solid", color="black", weight=3]; 7035[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos (Succ vuz204)))) (not (compare (absReal2 (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal2 (Integer (Pos (Succ vuz204)))) (not (compare (absReal2 (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7035 -> 7106[label="",style="solid", color="black", weight=3]; 7036[label="Integer (Neg vuz213) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz214))) (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7036 -> 7107[label="",style="solid", color="black", weight=3]; 7037[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7037 -> 7108[label="",style="solid", color="black", weight=3]; 7038[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7038 -> 7109[label="",style="solid", color="black", weight=3]; 7039[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7039 -> 7110[label="",style="solid", color="black", weight=3]; 7040[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7040 -> 7111[label="",style="solid", color="black", weight=3]; 7041[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7041 -> 7112[label="",style="solid", color="black", weight=3]; 7042[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7042 -> 7113[label="",style="solid", color="black", weight=3]; 7043[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7043 -> 7114[label="",style="solid", color="black", weight=3]; 7044[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7044 -> 7115[label="",style="solid", color="black", weight=3]; 7836[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8597[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8597[label="",style="solid", color="blue", weight=9]; 8597 -> 7847[label="",style="solid", color="blue", weight=3]; 8598[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8598[label="",style="solid", color="blue", weight=9]; 8598 -> 7848[label="",style="solid", color="blue", weight=3]; 8599[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8599[label="",style="solid", color="blue", weight=9]; 8599 -> 7849[label="",style="solid", color="blue", weight=3]; 8600[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8600[label="",style="solid", color="blue", weight=9]; 8600 -> 7850[label="",style="solid", color="blue", weight=3]; 8601[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8601[label="",style="solid", color="blue", weight=9]; 8601 -> 7851[label="",style="solid", color="blue", weight=3]; 7837[label="signumReal0 (Pos (Succ vuz457)) otherwise",fontsize=16,color="black",shape="box"];7837 -> 7852[label="",style="solid", color="black", weight=3]; 7045[label="primModNatS0 (Succ vuz156000) vuz15500 (primGEqNatS (Succ vuz156000) vuz15500)",fontsize=16,color="burlywood",shape="box"];8602[label="vuz15500/Succ vuz155000",fontsize=10,color="white",style="solid",shape="box"];7045 -> 8602[label="",style="solid", color="burlywood", weight=9]; 8602 -> 7116[label="",style="solid", color="burlywood", weight=3]; 8603[label="vuz15500/Zero",fontsize=10,color="white",style="solid",shape="box"];7045 -> 8603[label="",style="solid", color="burlywood", weight=9]; 8603 -> 7117[label="",style="solid", color="burlywood", weight=3]; 7046[label="primModNatS0 Zero vuz15500 (primGEqNatS Zero vuz15500)",fontsize=16,color="burlywood",shape="box"];8604[label="vuz15500/Succ vuz155000",fontsize=10,color="white",style="solid",shape="box"];7046 -> 8604[label="",style="solid", color="burlywood", weight=9]; 8604 -> 7118[label="",style="solid", color="burlywood", weight=3]; 8605[label="vuz15500/Zero",fontsize=10,color="white",style="solid",shape="box"];7046 -> 8605[label="",style="solid", color="burlywood", weight=9]; 8605 -> 7119[label="",style="solid", color="burlywood", weight=3]; 7326[label="signumReal0 (Neg (Succ vuz900)) True",fontsize=16,color="black",shape="box"];7326 -> 7357[label="",style="solid", color="black", weight=3]; 7843[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat (Succ vuz4620) (Succ vuz4630) == GT)",fontsize=16,color="black",shape="box"];7843 -> 7855[label="",style="solid", color="black", weight=3]; 7844[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat (Succ vuz4620) Zero == GT)",fontsize=16,color="black",shape="box"];7844 -> 7856[label="",style="solid", color="black", weight=3]; 7845[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat Zero (Succ vuz4630) == GT)",fontsize=16,color="black",shape="box"];7845 -> 7857[label="",style="solid", color="black", weight=3]; 7846[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];7846 -> 7858[label="",style="solid", color="black", weight=3]; 7047 -> 7120[label="",style="dashed", color="red", weight=0]; 7047[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7047 -> 7121[label="",style="dashed", color="magenta", weight=3]; 7104[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7104 -> 7153[label="",style="solid", color="black", weight=3]; 7105[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7105 -> 7154[label="",style="solid", color="black", weight=3]; 7106[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7106 -> 7155[label="",style="solid", color="black", weight=3]; 7107[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7107 -> 7156[label="",style="solid", color="black", weight=3]; 7108 -> 7120[label="",style="dashed", color="red", weight=0]; 7108[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7108 -> 7122[label="",style="dashed", color="magenta", weight=3]; 7108 -> 7123[label="",style="dashed", color="magenta", weight=3]; 7108 -> 7124[label="",style="dashed", color="magenta", weight=3]; 7108 -> 7125[label="",style="dashed", color="magenta", weight=3]; 7109 -> 7120[label="",style="dashed", color="red", weight=0]; 7109[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7109 -> 7126[label="",style="dashed", color="magenta", weight=3]; 7109 -> 7127[label="",style="dashed", color="magenta", weight=3]; 7109 -> 7128[label="",style="dashed", color="magenta", weight=3]; 7109 -> 7129[label="",style="dashed", color="magenta", weight=3]; 7110[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7110 -> 7157[label="",style="solid", color="black", weight=3]; 7111[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7111 -> 7158[label="",style="solid", color="black", weight=3]; 7112[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7112 -> 7159[label="",style="solid", color="black", weight=3]; 7113[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7113 -> 7160[label="",style="solid", color="black", weight=3]; 7114 -> 7120[label="",style="dashed", color="red", weight=0]; 7114[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7114 -> 7130[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7131[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7132[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7133[label="",style="dashed", color="magenta", weight=3]; 7115 -> 7120[label="",style="dashed", color="red", weight=0]; 7115[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7115 -> 7134[label="",style="dashed", color="magenta", weight=3]; 7115 -> 7135[label="",style="dashed", color="magenta", weight=3]; 7115 -> 7136[label="",style="dashed", color="magenta", weight=3]; 7115 -> 7137[label="",style="dashed", color="magenta", weight=3]; 7847[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7847 -> 7859[label="",style="solid", color="black", weight=3]; 7848[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7848 -> 7860[label="",style="solid", color="black", weight=3]; 7849[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7849 -> 7861[label="",style="solid", color="black", weight=3]; 7850[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7850 -> 7862[label="",style="solid", color="black", weight=3]; 7851 -> 2609[label="",style="dashed", color="red", weight=0]; 7851[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7851 -> 7863[label="",style="dashed", color="magenta", weight=3]; 7852[label="signumReal0 (Pos (Succ vuz457)) True",fontsize=16,color="black",shape="box"];7852 -> 7864[label="",style="solid", color="black", weight=3]; 7116[label="primModNatS0 (Succ vuz156000) (Succ vuz155000) (primGEqNatS (Succ vuz156000) (Succ vuz155000))",fontsize=16,color="black",shape="box"];7116 -> 7161[label="",style="solid", color="black", weight=3]; 7117[label="primModNatS0 (Succ vuz156000) Zero (primGEqNatS (Succ vuz156000) Zero)",fontsize=16,color="black",shape="box"];7117 -> 7162[label="",style="solid", color="black", weight=3]; 7118[label="primModNatS0 Zero (Succ vuz155000) (primGEqNatS Zero (Succ vuz155000))",fontsize=16,color="black",shape="box"];7118 -> 7163[label="",style="solid", color="black", weight=3]; 7119[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];7119 -> 7164[label="",style="solid", color="black", weight=3]; 7357 -> 2609[label="",style="dashed", color="red", weight=0]; 7357[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7357 -> 7403[label="",style="dashed", color="magenta", weight=3]; 7855 -> 7812[label="",style="dashed", color="red", weight=0]; 7855[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat vuz4620 vuz4630 == GT)",fontsize=16,color="magenta"];7855 -> 7879[label="",style="dashed", color="magenta", weight=3]; 7855 -> 7880[label="",style="dashed", color="magenta", weight=3]; 7856[label="signumReal1 (Neg (Succ vuz461)) (GT == GT)",fontsize=16,color="black",shape="box"];7856 -> 7881[label="",style="solid", color="black", weight=3]; 7857[label="signumReal1 (Neg (Succ vuz461)) (LT == GT)",fontsize=16,color="black",shape="box"];7857 -> 7882[label="",style="solid", color="black", weight=3]; 7858[label="signumReal1 (Neg (Succ vuz461)) (EQ == GT)",fontsize=16,color="black",shape="box"];7858 -> 7883[label="",style="solid", color="black", weight=3]; 7121 -> 47[label="",style="dashed", color="red", weight=0]; 7121[label="absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7121 -> 7165[label="",style="dashed", color="magenta", weight=3]; 7120[label="Integer vuz268 `quot` gcd0Gcd'1 vuz428 (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8606[label="vuz428/False",fontsize=10,color="white",style="solid",shape="box"];7120 -> 8606[label="",style="solid", color="burlywood", weight=9]; 8606 -> 7166[label="",style="solid", color="burlywood", weight=3]; 8607[label="vuz428/True",fontsize=10,color="white",style="solid",shape="box"];7120 -> 8607[label="",style="solid", color="burlywood", weight=9]; 8607 -> 7167[label="",style="solid", color="burlywood", weight=3]; 7153[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7153 -> 7192[label="",style="solid", color="black", weight=3]; 7154[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7154 -> 7193[label="",style="solid", color="black", weight=3]; 7155[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7155 -> 7194[label="",style="solid", color="black", weight=3]; 7156[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7156 -> 7195[label="",style="solid", color="black", weight=3]; 7122[label="Pos Zero",fontsize=16,color="green",shape="box"];7123[label="Pos Zero",fontsize=16,color="green",shape="box"];7124[label="Pos Zero",fontsize=16,color="green",shape="box"];7125 -> 47[label="",style="dashed", color="red", weight=0]; 7125[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7125 -> 7168[label="",style="dashed", color="magenta", weight=3]; 7126[label="Neg Zero",fontsize=16,color="green",shape="box"];7127[label="Pos Zero",fontsize=16,color="green",shape="box"];7128[label="Neg Zero",fontsize=16,color="green",shape="box"];7129 -> 47[label="",style="dashed", color="red", weight=0]; 7129[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7129 -> 7169[label="",style="dashed", color="magenta", weight=3]; 7157[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7157 -> 7196[label="",style="solid", color="black", weight=3]; 7158[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7158 -> 7197[label="",style="solid", color="black", weight=3]; 7159[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7159 -> 7198[label="",style="solid", color="black", weight=3]; 7160[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7160 -> 7199[label="",style="solid", color="black", weight=3]; 7130[label="Pos Zero",fontsize=16,color="green",shape="box"];7131[label="Neg Zero",fontsize=16,color="green",shape="box"];7132[label="Pos Zero",fontsize=16,color="green",shape="box"];7133 -> 47[label="",style="dashed", color="red", weight=0]; 7133[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7133 -> 7170[label="",style="dashed", color="magenta", weight=3]; 7134[label="Neg Zero",fontsize=16,color="green",shape="box"];7135[label="Neg Zero",fontsize=16,color="green",shape="box"];7136[label="Neg Zero",fontsize=16,color="green",shape="box"];7137 -> 47[label="",style="dashed", color="red", weight=0]; 7137[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7137 -> 7171[label="",style="dashed", color="magenta", weight=3]; 7859[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];7859 -> 7884[label="",style="solid", color="black", weight=3]; 7860[label="primIntToDouble (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];7860 -> 7885[label="",style="solid", color="black", weight=3]; 7861[label="primIntToFloat (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];7861 -> 7886[label="",style="solid", color="black", weight=3]; 7862[label="Integer (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7863[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7864[label="fromInt (Neg (Succ Zero))",fontsize=16,color="blue",shape="box"];8608[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8608[label="",style="solid", color="blue", weight=9]; 8608 -> 7887[label="",style="solid", color="blue", weight=3]; 8609[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8609[label="",style="solid", color="blue", weight=9]; 8609 -> 7888[label="",style="solid", color="blue", weight=3]; 8610[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8610[label="",style="solid", color="blue", weight=9]; 8610 -> 7889[label="",style="solid", color="blue", weight=3]; 8611[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8611[label="",style="solid", color="blue", weight=9]; 8611 -> 7890[label="",style="solid", color="blue", weight=3]; 8612[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8612[label="",style="solid", color="blue", weight=9]; 8612 -> 7891[label="",style="solid", color="blue", weight=3]; 7161 -> 8098[label="",style="dashed", color="red", weight=0]; 7161[label="primModNatS0 (Succ vuz156000) (Succ vuz155000) (primGEqNatS vuz156000 vuz155000)",fontsize=16,color="magenta"];7161 -> 8099[label="",style="dashed", color="magenta", weight=3]; 7161 -> 8100[label="",style="dashed", color="magenta", weight=3]; 7161 -> 8101[label="",style="dashed", color="magenta", weight=3]; 7161 -> 8102[label="",style="dashed", color="magenta", weight=3]; 7162[label="primModNatS0 (Succ vuz156000) Zero True",fontsize=16,color="black",shape="box"];7162 -> 7202[label="",style="solid", color="black", weight=3]; 7163[label="primModNatS0 Zero (Succ vuz155000) False",fontsize=16,color="black",shape="box"];7163 -> 7203[label="",style="solid", color="black", weight=3]; 7164[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];7164 -> 7204[label="",style="solid", color="black", weight=3]; 7403[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];7879[label="vuz4620",fontsize=16,color="green",shape="box"];7880[label="vuz4630",fontsize=16,color="green",shape="box"];7881[label="signumReal1 (Neg (Succ vuz461)) True",fontsize=16,color="black",shape="box"];7881 -> 7908[label="",style="solid", color="black", weight=3]; 7882[label="signumReal1 (Neg (Succ vuz461)) False",fontsize=16,color="black",shape="triangle"];7882 -> 7909[label="",style="solid", color="black", weight=3]; 7883 -> 7882[label="",style="dashed", color="red", weight=0]; 7883[label="signumReal1 (Neg (Succ vuz461)) False",fontsize=16,color="magenta"];7165[label="vuz269",fontsize=16,color="green",shape="box"];7166[label="Integer vuz268 `quot` gcd0Gcd'1 False (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7166 -> 7205[label="",style="solid", color="black", weight=3]; 7167[label="Integer vuz268 `quot` gcd0Gcd'1 True (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7167 -> 7206[label="",style="solid", color="black", weight=3]; 7192[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7192 -> 7224[label="",style="solid", color="black", weight=3]; 7193[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal2 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7193 -> 7225[label="",style="solid", color="black", weight=3]; 7194[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7194 -> 7226[label="",style="solid", color="black", weight=3]; 7195[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal2 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7195 -> 7227[label="",style="solid", color="black", weight=3]; 7168[label="Pos Zero",fontsize=16,color="green",shape="box"];7169[label="Pos Zero",fontsize=16,color="green",shape="box"];7196[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7196 -> 7228[label="",style="solid", color="black", weight=3]; 7197[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7197 -> 7229[label="",style="solid", color="black", weight=3]; 7198[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7198 -> 7230[label="",style="solid", color="black", weight=3]; 7199[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7199 -> 7231[label="",style="solid", color="black", weight=3]; 7170[label="Neg Zero",fontsize=16,color="green",shape="box"];7171[label="Neg Zero",fontsize=16,color="green",shape="box"];7884[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7884 -> 7910[label="",style="dashed", color="green", weight=3]; 7884 -> 7911[label="",style="dashed", color="green", weight=3]; 7885[label="Double (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7886[label="Float (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7887[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7887 -> 7912[label="",style="solid", color="black", weight=3]; 7888[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7888 -> 7913[label="",style="solid", color="black", weight=3]; 7889[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7889 -> 7914[label="",style="solid", color="black", weight=3]; 7890[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7890 -> 7915[label="",style="solid", color="black", weight=3]; 7891 -> 2609[label="",style="dashed", color="red", weight=0]; 7891[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7891 -> 7916[label="",style="dashed", color="magenta", weight=3]; 8099[label="vuz155000",fontsize=16,color="green",shape="box"];8100[label="vuz156000",fontsize=16,color="green",shape="box"];8101[label="vuz155000",fontsize=16,color="green",shape="box"];8102[label="vuz156000",fontsize=16,color="green",shape="box"];8098[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS vuz490 vuz491)",fontsize=16,color="burlywood",shape="triangle"];8613[label="vuz490/Succ vuz4900",fontsize=10,color="white",style="solid",shape="box"];8098 -> 8613[label="",style="solid", color="burlywood", weight=9]; 8613 -> 8139[label="",style="solid", color="burlywood", weight=3]; 8614[label="vuz490/Zero",fontsize=10,color="white",style="solid",shape="box"];8098 -> 8614[label="",style="solid", color="burlywood", weight=9]; 8614 -> 8140[label="",style="solid", color="burlywood", weight=3]; 7202 -> 5923[label="",style="dashed", color="red", weight=0]; 7202[label="primModNatS (primMinusNatS (Succ vuz156000) Zero) (Succ Zero)",fontsize=16,color="magenta"];7202 -> 7236[label="",style="dashed", color="magenta", weight=3]; 7202 -> 7237[label="",style="dashed", color="magenta", weight=3]; 7203[label="Succ Zero",fontsize=16,color="green",shape="box"];7204 -> 5923[label="",style="dashed", color="red", weight=0]; 7204[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];7204 -> 7238[label="",style="dashed", color="magenta", weight=3]; 7204 -> 7239[label="",style="dashed", color="magenta", weight=3]; 7908[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8615[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8615[label="",style="solid", color="blue", weight=9]; 8615 -> 7930[label="",style="solid", color="blue", weight=3]; 8616[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8616[label="",style="solid", color="blue", weight=9]; 8616 -> 7931[label="",style="solid", color="blue", weight=3]; 8617[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8617[label="",style="solid", color="blue", weight=9]; 8617 -> 7932[label="",style="solid", color="blue", weight=3]; 8618[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8618[label="",style="solid", color="blue", weight=9]; 8618 -> 7933[label="",style="solid", color="blue", weight=3]; 8619[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8619[label="",style="solid", color="blue", weight=9]; 8619 -> 7934[label="",style="solid", color="blue", weight=3]; 7909[label="signumReal0 (Neg (Succ vuz461)) otherwise",fontsize=16,color="black",shape="box"];7909 -> 7935[label="",style="solid", color="black", weight=3]; 7205[label="Integer vuz268 `quot` gcd0Gcd'0 (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7205 -> 7240[label="",style="solid", color="black", weight=3]; 7206[label="Integer vuz268 `quot` abs (Integer vuz298)",fontsize=16,color="black",shape="box"];7206 -> 7241[label="",style="solid", color="black", weight=3]; 7224[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7224 -> 7278[label="",style="solid", color="black", weight=3]; 7225[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7225 -> 7279[label="",style="solid", color="black", weight=3]; 7226[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7226 -> 7280[label="",style="solid", color="black", weight=3]; 7227[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7227 -> 7281[label="",style="solid", color="black", weight=3]; 7228[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7228 -> 7282[label="",style="solid", color="black", weight=3]; 7229 -> 7110[label="",style="dashed", color="red", weight=0]; 7229[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7230[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7230 -> 7283[label="",style="solid", color="black", weight=3]; 7231 -> 7112[label="",style="dashed", color="red", weight=0]; 7231[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7910[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8620[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];7910 -> 8620[label="",style="solid", color="blue", weight=9]; 8620 -> 7936[label="",style="solid", color="blue", weight=3]; 8621[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7910 -> 8621[label="",style="solid", color="blue", weight=9]; 8621 -> 7937[label="",style="solid", color="blue", weight=3]; 7911[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8622[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7911 -> 8622[label="",style="solid", color="blue", weight=9]; 8622 -> 7938[label="",style="solid", color="blue", weight=3]; 8623[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7911 -> 8623[label="",style="solid", color="blue", weight=9]; 8623 -> 7939[label="",style="solid", color="blue", weight=3]; 7912[label="intToRatio (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];7912 -> 7940[label="",style="solid", color="black", weight=3]; 7913[label="primIntToDouble (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];7913 -> 7941[label="",style="solid", color="black", weight=3]; 7914[label="primIntToFloat (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];7914 -> 7942[label="",style="solid", color="black", weight=3]; 7915[label="Integer (Neg (Succ Zero))",fontsize=16,color="green",shape="box"];7916[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];8139[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS (Succ vuz4900) vuz491)",fontsize=16,color="burlywood",shape="box"];8624[label="vuz491/Succ vuz4910",fontsize=10,color="white",style="solid",shape="box"];8139 -> 8624[label="",style="solid", color="burlywood", weight=9]; 8624 -> 8145[label="",style="solid", color="burlywood", weight=3]; 8625[label="vuz491/Zero",fontsize=10,color="white",style="solid",shape="box"];8139 -> 8625[label="",style="solid", color="burlywood", weight=9]; 8625 -> 8146[label="",style="solid", color="burlywood", weight=3]; 8140[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS Zero vuz491)",fontsize=16,color="burlywood",shape="box"];8626[label="vuz491/Succ vuz4910",fontsize=10,color="white",style="solid",shape="box"];8140 -> 8626[label="",style="solid", color="burlywood", weight=9]; 8626 -> 8147[label="",style="solid", color="burlywood", weight=3]; 8627[label="vuz491/Zero",fontsize=10,color="white",style="solid",shape="box"];8140 -> 8627[label="",style="solid", color="burlywood", weight=9]; 8627 -> 8148[label="",style="solid", color="burlywood", weight=3]; 7236[label="Zero",fontsize=16,color="green",shape="box"];7237 -> 5960[label="",style="dashed", color="red", weight=0]; 7237[label="primMinusNatS (Succ vuz156000) Zero",fontsize=16,color="magenta"];7237 -> 7288[label="",style="dashed", color="magenta", weight=3]; 7238[label="Zero",fontsize=16,color="green",shape="box"];7239 -> 5962[label="",style="dashed", color="red", weight=0]; 7239[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];7930 -> 7847[label="",style="dashed", color="red", weight=0]; 7930[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7931 -> 7848[label="",style="dashed", color="red", weight=0]; 7931[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7932 -> 7849[label="",style="dashed", color="red", weight=0]; 7932[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7933 -> 7850[label="",style="dashed", color="red", weight=0]; 7933[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7934 -> 2609[label="",style="dashed", color="red", weight=0]; 7934[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7934 -> 7949[label="",style="dashed", color="magenta", weight=3]; 7935[label="signumReal0 (Neg (Succ vuz461)) True",fontsize=16,color="black",shape="box"];7935 -> 7950[label="",style="solid", color="black", weight=3]; 7240[label="Integer vuz268 `quot` gcd0Gcd' (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7240 -> 7289[label="",style="solid", color="black", weight=3]; 7241[label="Integer vuz268 `quot` absReal (Integer vuz298)",fontsize=16,color="black",shape="box"];7241 -> 7290[label="",style="solid", color="black", weight=3]; 7278[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7278 -> 7309[label="",style="solid", color="black", weight=3]; 7279[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7279 -> 7310[label="",style="solid", color="black", weight=3]; 7280[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7280 -> 7311[label="",style="solid", color="black", weight=3]; 7281[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7281 -> 7312[label="",style="solid", color="black", weight=3]; 7282[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7282 -> 7313[label="",style="solid", color="black", weight=3]; 7283[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7283 -> 7314[label="",style="solid", color="black", weight=3]; 7936 -> 7850[label="",style="dashed", color="red", weight=0]; 7936[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7937 -> 2609[label="",style="dashed", color="red", weight=0]; 7937[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7937 -> 7951[label="",style="dashed", color="magenta", weight=3]; 7938 -> 7850[label="",style="dashed", color="red", weight=0]; 7938[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7939 -> 2609[label="",style="dashed", color="red", weight=0]; 7939[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7939 -> 7952[label="",style="dashed", color="magenta", weight=3]; 7940[label="fromInt (Neg (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7940 -> 7953[label="",style="dashed", color="green", weight=3]; 7940 -> 7954[label="",style="dashed", color="green", weight=3]; 7941[label="Double (Neg (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7942[label="Float (Neg (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];8145[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS (Succ vuz4900) (Succ vuz4910))",fontsize=16,color="black",shape="box"];8145 -> 8153[label="",style="solid", color="black", weight=3]; 8146[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS (Succ vuz4900) Zero)",fontsize=16,color="black",shape="box"];8146 -> 8154[label="",style="solid", color="black", weight=3]; 8147[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS Zero (Succ vuz4910))",fontsize=16,color="black",shape="box"];8147 -> 8155[label="",style="solid", color="black", weight=3]; 8148[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];8148 -> 8156[label="",style="solid", color="black", weight=3]; 7288[label="vuz156000",fontsize=16,color="green",shape="box"];7949[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7950[label="fromInt (Neg (Succ Zero))",fontsize=16,color="blue",shape="box"];8628[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8628[label="",style="solid", color="blue", weight=9]; 8628 -> 7958[label="",style="solid", color="blue", weight=3]; 8629[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8629[label="",style="solid", color="blue", weight=9]; 8629 -> 7959[label="",style="solid", color="blue", weight=3]; 8630[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8630[label="",style="solid", color="blue", weight=9]; 8630 -> 7960[label="",style="solid", color="blue", weight=3]; 8631[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8631[label="",style="solid", color="blue", weight=9]; 8631 -> 7961[label="",style="solid", color="blue", weight=3]; 8632[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8632[label="",style="solid", color="blue", weight=9]; 8632 -> 7962[label="",style="solid", color="blue", weight=3]; 7289[label="Integer vuz268 `quot` gcd0Gcd'2 (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7289 -> 7320[label="",style="solid", color="black", weight=3]; 7290[label="Integer vuz268 `quot` absReal2 (Integer vuz298)",fontsize=16,color="black",shape="box"];7290 -> 7321[label="",style="solid", color="black", weight=3]; 7309[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7309 -> 7418[label="",style="solid", color="black", weight=3]; 7310 -> 7192[label="",style="dashed", color="red", weight=0]; 7310[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7310 -> 7419[label="",style="dashed", color="magenta", weight=3]; 7310 -> 7420[label="",style="dashed", color="magenta", weight=3]; 7311[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7311 -> 7421[label="",style="solid", color="black", weight=3]; 7312 -> 7194[label="",style="dashed", color="red", weight=0]; 7312[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7312 -> 7422[label="",style="dashed", color="magenta", weight=3]; 7312 -> 7423[label="",style="dashed", color="magenta", weight=3]; 7313[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7313 -> 7424[label="",style="solid", color="black", weight=3]; 7314[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7314 -> 7425[label="",style="solid", color="black", weight=3]; 7951[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7952[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7953[label="fromInt (Neg (Succ Zero))",fontsize=16,color="blue",shape="box"];8633[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];7953 -> 8633[label="",style="solid", color="blue", weight=9]; 8633 -> 7963[label="",style="solid", color="blue", weight=3]; 8634[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7953 -> 8634[label="",style="solid", color="blue", weight=9]; 8634 -> 7964[label="",style="solid", color="blue", weight=3]; 7954[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8635[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7954 -> 8635[label="",style="solid", color="blue", weight=9]; 8635 -> 7965[label="",style="solid", color="blue", weight=3]; 8636[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7954 -> 8636[label="",style="solid", color="blue", weight=9]; 8636 -> 7966[label="",style="solid", color="blue", weight=3]; 8153 -> 8098[label="",style="dashed", color="red", weight=0]; 8153[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS vuz4900 vuz4910)",fontsize=16,color="magenta"];8153 -> 8161[label="",style="dashed", color="magenta", weight=3]; 8153 -> 8162[label="",style="dashed", color="magenta", weight=3]; 8154[label="primModNatS0 (Succ vuz488) (Succ vuz489) True",fontsize=16,color="black",shape="triangle"];8154 -> 8163[label="",style="solid", color="black", weight=3]; 8155[label="primModNatS0 (Succ vuz488) (Succ vuz489) False",fontsize=16,color="black",shape="box"];8155 -> 8164[label="",style="solid", color="black", weight=3]; 8156 -> 8154[label="",style="dashed", color="red", weight=0]; 8156[label="primModNatS0 (Succ vuz488) (Succ vuz489) True",fontsize=16,color="magenta"];7958 -> 7887[label="",style="dashed", color="red", weight=0]; 7958[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7959 -> 7888[label="",style="dashed", color="red", weight=0]; 7959[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7960 -> 7889[label="",style="dashed", color="red", weight=0]; 7960[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7961 -> 7890[label="",style="dashed", color="red", weight=0]; 7961[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7962 -> 2609[label="",style="dashed", color="red", weight=0]; 7962[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7962 -> 7982[label="",style="dashed", color="magenta", weight=3]; 7320[label="Integer vuz268 `quot` gcd0Gcd'1 (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7320 -> 7434[label="",style="solid", color="black", weight=3]; 7321[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (Integer vuz298 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];7321 -> 7435[label="",style="solid", color="black", weight=3]; 7418[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7418 -> 7452[label="",style="solid", color="black", weight=3]; 7419[label="vuz210",fontsize=16,color="green",shape="box"];7420[label="vuz209",fontsize=16,color="green",shape="box"];7421[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7421 -> 7453[label="",style="solid", color="black", weight=3]; 7422[label="vuz213",fontsize=16,color="green",shape="box"];7423[label="vuz214",fontsize=16,color="green",shape="box"];7424[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7424 -> 7454[label="",style="solid", color="black", weight=3]; 7425[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7425 -> 7455[label="",style="solid", color="black", weight=3]; 7963 -> 7890[label="",style="dashed", color="red", weight=0]; 7963[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7964 -> 2609[label="",style="dashed", color="red", weight=0]; 7964[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7964 -> 7983[label="",style="dashed", color="magenta", weight=3]; 7965 -> 7850[label="",style="dashed", color="red", weight=0]; 7965[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7966 -> 2609[label="",style="dashed", color="red", weight=0]; 7966[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7966 -> 7984[label="",style="dashed", color="magenta", weight=3]; 8161[label="vuz4900",fontsize=16,color="green",shape="box"];8162[label="vuz4910",fontsize=16,color="green",shape="box"];8163 -> 5923[label="",style="dashed", color="red", weight=0]; 8163[label="primModNatS (primMinusNatS (Succ vuz488) (Succ vuz489)) (Succ (Succ vuz489))",fontsize=16,color="magenta"];8163 -> 8169[label="",style="dashed", color="magenta", weight=3]; 8163 -> 8170[label="",style="dashed", color="magenta", weight=3]; 8164[label="Succ (Succ vuz488)",fontsize=16,color="green",shape="box"];7982[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];7434[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7434 -> 7462[label="",style="solid", color="black", weight=3]; 7435[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (compare (Integer vuz298) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];7435 -> 7463[label="",style="solid", color="black", weight=3]; 7452[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7452 -> 7527[label="",style="solid", color="black", weight=3]; 7453[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7453 -> 7528[label="",style="solid", color="black", weight=3]; 7454[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7454 -> 7529[label="",style="solid", color="black", weight=3]; 7455[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7455 -> 7530[label="",style="solid", color="black", weight=3]; 7983[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];7984[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];8169[label="Succ vuz489",fontsize=16,color="green",shape="box"];8170 -> 7692[label="",style="dashed", color="red", weight=0]; 8170[label="primMinusNatS (Succ vuz488) (Succ vuz489)",fontsize=16,color="magenta"];8170 -> 8174[label="",style="dashed", color="magenta", weight=3]; 8170 -> 8175[label="",style="dashed", color="magenta", weight=3]; 7462[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal2 (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal2 (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7462 -> 7537[label="",style="solid", color="black", weight=3]; 7463[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (not (compare (Integer vuz298) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];7463 -> 7538[label="",style="solid", color="black", weight=3]; 7527[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7527 -> 7554[label="",style="solid", color="black", weight=3]; 7528[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7528 -> 7555[label="",style="solid", color="black", weight=3]; 7529[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7529 -> 7556[label="",style="solid", color="black", weight=3]; 7530[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7530 -> 7557[label="",style="solid", color="black", weight=3]; 8174[label="Succ vuz488",fontsize=16,color="green",shape="box"];8175[label="Succ vuz489",fontsize=16,color="green",shape="box"];7537[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (Integer vuz298 >= fromInt (Pos Zero)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (Integer vuz298 >= fromInt (Pos Zero)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7537 -> 7566[label="",style="solid", color="black", weight=3]; 7538[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (not (compare (Integer vuz298) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];7538 -> 7567[label="",style="solid", color="black", weight=3]; 7554 -> 7120[label="",style="dashed", color="red", weight=0]; 7554[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7554 -> 7583[label="",style="dashed", color="magenta", weight=3]; 7554 -> 7584[label="",style="dashed", color="magenta", weight=3]; 7554 -> 7585[label="",style="dashed", color="magenta", weight=3]; 7554 -> 7586[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7120[label="",style="dashed", color="red", weight=0]; 7555[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7555 -> 7587[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7588[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7589[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7590[label="",style="dashed", color="magenta", weight=3]; 7556 -> 7120[label="",style="dashed", color="red", weight=0]; 7556[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7556 -> 7591[label="",style="dashed", color="magenta", weight=3]; 7556 -> 7592[label="",style="dashed", color="magenta", weight=3]; 7556 -> 7593[label="",style="dashed", color="magenta", weight=3]; 7556 -> 7594[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7120[label="",style="dashed", color="red", weight=0]; 7557[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7557 -> 7595[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7596[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7597[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7598[label="",style="dashed", color="magenta", weight=3]; 7566[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (compare (Integer vuz298) (fromInt (Pos Zero)) /= LT) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (compare (Integer vuz298) (fromInt (Pos Zero)) /= LT) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7566 -> 7605[label="",style="solid", color="black", weight=3]; 7567[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (not (primCmpInt vuz298 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];8637[label="vuz298/Pos vuz2980",fontsize=10,color="white",style="solid",shape="box"];7567 -> 8637[label="",style="solid", color="burlywood", weight=9]; 8637 -> 7606[label="",style="solid", color="burlywood", weight=3]; 8638[label="vuz298/Neg vuz2980",fontsize=10,color="white",style="solid",shape="box"];7567 -> 8638[label="",style="solid", color="burlywood", weight=9]; 8638 -> 7607[label="",style="solid", color="burlywood", weight=3]; 7583[label="Pos vuz208",fontsize=16,color="green",shape="box"];7584[label="Pos (Succ vuz196)",fontsize=16,color="green",shape="box"];7585[label="Pos vuz207",fontsize=16,color="green",shape="box"];7586 -> 47[label="",style="dashed", color="red", weight=0]; 7586[label="absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7586 -> 7623[label="",style="dashed", color="magenta", weight=3]; 7587[label="Neg vuz212",fontsize=16,color="green",shape="box"];7588[label="Pos (Succ vuz204)",fontsize=16,color="green",shape="box"];7589[label="Neg vuz211",fontsize=16,color="green",shape="box"];7590 -> 47[label="",style="dashed", color="red", weight=0]; 7590[label="absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7590 -> 7624[label="",style="dashed", color="magenta", weight=3]; 7591[label="Neg vuz217",fontsize=16,color="green",shape="box"];7592 -> 2686[label="",style="dashed", color="red", weight=0]; 7592[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7592 -> 7625[label="",style="dashed", color="magenta", weight=3]; 7593[label="Neg vuz216",fontsize=16,color="green",shape="box"];7594 -> 47[label="",style="dashed", color="red", weight=0]; 7594[label="absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7594 -> 7626[label="",style="dashed", color="magenta", weight=3]; 7595[label="Pos vuz227",fontsize=16,color="green",shape="box"];7596 -> 2686[label="",style="dashed", color="red", weight=0]; 7596[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7596 -> 7627[label="",style="dashed", color="magenta", weight=3]; 7597[label="Pos vuz226",fontsize=16,color="green",shape="box"];7598 -> 47[label="",style="dashed", color="red", weight=0]; 7598[label="absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7598 -> 7628[label="",style="dashed", color="magenta", weight=3]; 7605[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (fromInt (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (fromInt (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7605 -> 7635[label="",style="solid", color="black", weight=3]; 7606[label="Integer vuz268 `quot` absReal1 (Integer (Pos vuz2980)) (not (primCmpInt (Pos vuz2980) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];8639[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7606 -> 8639[label="",style="solid", color="burlywood", weight=9]; 8639 -> 7636[label="",style="solid", color="burlywood", weight=3]; 8640[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7606 -> 8640[label="",style="solid", color="burlywood", weight=9]; 8640 -> 7637[label="",style="solid", color="burlywood", weight=3]; 7607[label="Integer vuz268 `quot` absReal1 (Integer (Neg vuz2980)) (not (primCmpInt (Neg vuz2980) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];8641[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7607 -> 8641[label="",style="solid", color="burlywood", weight=9]; 8641 -> 7638[label="",style="solid", color="burlywood", weight=3]; 8642[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7607 -> 8642[label="",style="solid", color="burlywood", weight=9]; 8642 -> 7639[label="",style="solid", color="burlywood", weight=3]; 7623[label="Pos (Succ vuz196)",fontsize=16,color="green",shape="box"];7624[label="Pos (Succ vuz204)",fontsize=16,color="green",shape="box"];7625[label="vuz900",fontsize=16,color="green",shape="box"];7626 -> 2686[label="",style="dashed", color="red", weight=0]; 7626[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7626 -> 7652[label="",style="dashed", color="magenta", weight=3]; 7627[label="vuz900",fontsize=16,color="green",shape="box"];7628 -> 2686[label="",style="dashed", color="red", weight=0]; 7628[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7628 -> 7653[label="",style="dashed", color="magenta", weight=3]; 7635[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (Integer (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (Integer (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7635 -> 7662[label="",style="solid", color="black", weight=3]; 7636[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpInt (Pos (Succ vuz29800)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7636 -> 7663[label="",style="solid", color="black", weight=3]; 7637[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7637 -> 7664[label="",style="solid", color="black", weight=3]; 7638[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) (not (primCmpInt (Neg (Succ vuz29800)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7638 -> 7665[label="",style="solid", color="black", weight=3]; 7639[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7639 -> 7666[label="",style="solid", color="black", weight=3]; 7652[label="vuz900",fontsize=16,color="green",shape="box"];7653[label="vuz900",fontsize=16,color="green",shape="box"];7662[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (not (primCmpInt vuz298 (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (not (primCmpInt vuz298 (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];8643[label="vuz298/Pos vuz2980",fontsize=10,color="white",style="solid",shape="box"];7662 -> 8643[label="",style="solid", color="burlywood", weight=9]; 8643 -> 7686[label="",style="solid", color="burlywood", weight=3]; 8644[label="vuz298/Neg vuz2980",fontsize=10,color="white",style="solid",shape="box"];7662 -> 8644[label="",style="solid", color="burlywood", weight=9]; 8644 -> 7687[label="",style="solid", color="burlywood", weight=3]; 7663[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpNat (Succ vuz29800) Zero == LT))",fontsize=16,color="black",shape="box"];7663 -> 7688[label="",style="solid", color="black", weight=3]; 7664[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];7664 -> 7689[label="",style="solid", color="black", weight=3]; 7665[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) (not (LT == LT))",fontsize=16,color="black",shape="box"];7665 -> 7690[label="",style="solid", color="black", weight=3]; 7666[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];7666 -> 7691[label="",style="solid", color="black", weight=3]; 7686[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz2980)) (not (primCmpInt (Pos vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos vuz2980)) (not (primCmpInt (Pos vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];8645[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7686 -> 8645[label="",style="solid", color="burlywood", weight=9]; 8645 -> 7738[label="",style="solid", color="burlywood", weight=3]; 8646[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7686 -> 8646[label="",style="solid", color="burlywood", weight=9]; 8646 -> 7739[label="",style="solid", color="burlywood", weight=3]; 7687[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz2980)) (not (primCmpInt (Neg vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg vuz2980)) (not (primCmpInt (Neg vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];8647[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7687 -> 8647[label="",style="solid", color="burlywood", weight=9]; 8647 -> 7740[label="",style="solid", color="burlywood", weight=3]; 8648[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7687 -> 8648[label="",style="solid", color="burlywood", weight=9]; 8648 -> 7741[label="",style="solid", color="burlywood", weight=3]; 7688[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not (GT == LT))",fontsize=16,color="black",shape="box"];7688 -> 7742[label="",style="solid", color="black", weight=3]; 7689[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];7689 -> 7743[label="",style="solid", color="black", weight=3]; 7690[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) (not True)",fontsize=16,color="black",shape="box"];7690 -> 7744[label="",style="solid", color="black", weight=3]; 7691[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];7691 -> 7745[label="",style="solid", color="black", weight=3]; 7738[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpInt (Pos (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpInt (Pos (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7738 -> 7768[label="",style="solid", color="black", weight=3]; 7739[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7739 -> 7769[label="",style="solid", color="black", weight=3]; 7740[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) (not (primCmpInt (Neg (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) (not (primCmpInt (Neg (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7740 -> 7770[label="",style="solid", color="black", weight=3]; 7741[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7741 -> 7771[label="",style="solid", color="black", weight=3]; 7742[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not False)",fontsize=16,color="black",shape="box"];7742 -> 7772[label="",style="solid", color="black", weight=3]; 7743[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];7743 -> 7773[label="",style="solid", color="black", weight=3]; 7744[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) False",fontsize=16,color="black",shape="box"];7744 -> 7774[label="",style="solid", color="black", weight=3]; 7745[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];7745 -> 7775[label="",style="solid", color="black", weight=3]; 7768[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpNat (Succ vuz29800) Zero == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpNat (Succ vuz29800) Zero == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7768 -> 7797[label="",style="solid", color="black", weight=3]; 7769[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7769 -> 7798[label="",style="solid", color="black", weight=3]; 7770[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) (not (LT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) (not (LT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7770 -> 7799[label="",style="solid", color="black", weight=3]; 7771[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7771 -> 7800[label="",style="solid", color="black", weight=3]; 7772[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) True",fontsize=16,color="black",shape="box"];7772 -> 7801[label="",style="solid", color="black", weight=3]; 7773 -> 7925[label="",style="dashed", color="red", weight=0]; 7773[label="Integer vuz268 `quot` Integer (Pos Zero)",fontsize=16,color="magenta"];7773 -> 7926[label="",style="dashed", color="magenta", weight=3]; 7774[label="Integer vuz268 `quot` absReal0 (Integer (Neg (Succ vuz29800))) otherwise",fontsize=16,color="black",shape="box"];7774 -> 7803[label="",style="solid", color="black", weight=3]; 7775 -> 7925[label="",style="dashed", color="red", weight=0]; 7775[label="Integer vuz268 `quot` Integer (Neg Zero)",fontsize=16,color="magenta"];7775 -> 7927[label="",style="dashed", color="magenta", weight=3]; 7797[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not (GT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not (GT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7797 -> 7865[label="",style="solid", color="black", weight=3]; 7798[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7798 -> 7866[label="",style="solid", color="black", weight=3]; 7799[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) (not True) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) (not True) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7799 -> 7867[label="",style="solid", color="black", weight=3]; 7800[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7800 -> 7868[label="",style="solid", color="black", weight=3]; 7801 -> 7925[label="",style="dashed", color="red", weight=0]; 7801[label="Integer vuz268 `quot` Integer (Pos (Succ vuz29800))",fontsize=16,color="magenta"];7801 -> 7928[label="",style="dashed", color="magenta", weight=3]; 7926[label="Pos Zero",fontsize=16,color="green",shape="box"];7925[label="Integer vuz268 `quot` Integer vuz468",fontsize=16,color="black",shape="triangle"];7925 -> 7943[label="",style="solid", color="black", weight=3]; 7803[label="Integer vuz268 `quot` absReal0 (Integer (Neg (Succ vuz29800))) True",fontsize=16,color="black",shape="box"];7803 -> 7871[label="",style="solid", color="black", weight=3]; 7927[label="Neg Zero",fontsize=16,color="green",shape="box"];7865[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7865 -> 7892[label="",style="solid", color="black", weight=3]; 7866[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7866 -> 7893[label="",style="solid", color="black", weight=3]; 7867[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) False `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) False `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7867 -> 7894[label="",style="solid", color="black", weight=3]; 7868[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7868 -> 7895[label="",style="solid", color="black", weight=3]; 7928[label="Pos (Succ vuz29800)",fontsize=16,color="green",shape="box"];7943[label="Integer (primQuotInt vuz268 vuz468)",fontsize=16,color="green",shape="box"];7943 -> 7955[label="",style="dashed", color="green", weight=3]; 7871[label="Integer vuz268 `quot` (`negate` Integer (Neg (Succ vuz29800)))",fontsize=16,color="black",shape="box"];7871 -> 7899[label="",style="solid", color="black", weight=3]; 7892[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7892 -> 7917[label="",style="solid", color="black", weight=3]; 7893 -> 8015[label="",style="dashed", color="red", weight=0]; 7893[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (Pos Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (Pos Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7893 -> 8016[label="",style="dashed", color="magenta", weight=3]; 7893 -> 8017[label="",style="dashed", color="magenta", weight=3]; 7894[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz29800))) otherwise `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal0 (Integer (Neg (Succ vuz29800))) otherwise `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7894 -> 7919[label="",style="solid", color="black", weight=3]; 7895 -> 8015[label="",style="dashed", color="red", weight=0]; 7895[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (Neg Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (Neg Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7895 -> 8018[label="",style="dashed", color="magenta", weight=3]; 7895 -> 8019[label="",style="dashed", color="magenta", weight=3]; 7955[label="primQuotInt vuz268 vuz468",fontsize=16,color="burlywood",shape="box"];8649[label="vuz268/Pos vuz2680",fontsize=10,color="white",style="solid",shape="box"];7955 -> 8649[label="",style="solid", color="burlywood", weight=9]; 8649 -> 7967[label="",style="solid", color="burlywood", weight=3]; 8650[label="vuz268/Neg vuz2680",fontsize=10,color="white",style="solid",shape="box"];7955 -> 8650[label="",style="solid", color="burlywood", weight=9]; 8650 -> 7968[label="",style="solid", color="burlywood", weight=3]; 7899 -> 7925[label="",style="dashed", color="red", weight=0]; 7899[label="Integer vuz268 `quot` Integer (primNegInt (Neg (Succ vuz29800)))",fontsize=16,color="magenta"];7899 -> 7929[label="",style="dashed", color="magenta", weight=3]; 7917 -> 8015[label="",style="dashed", color="red", weight=0]; 7917[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz29800)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (Pos (Succ vuz29800)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7917 -> 8020[label="",style="dashed", color="magenta", weight=3]; 7917 -> 8021[label="",style="dashed", color="magenta", weight=3]; 8016[label="Pos Zero",fontsize=16,color="green",shape="box"];8017[label="Pos Zero",fontsize=16,color="green",shape="box"];8015[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer vuz473 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];8015 -> 8024[label="",style="solid", color="black", weight=3]; 7919[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal0 (Integer (Neg (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7919 -> 7973[label="",style="solid", color="black", weight=3]; 8018[label="Neg Zero",fontsize=16,color="green",shape="box"];8019[label="Neg Zero",fontsize=16,color="green",shape="box"];7967[label="primQuotInt (Pos vuz2680) vuz468",fontsize=16,color="burlywood",shape="box"];8651[label="vuz468/Pos vuz4680",fontsize=10,color="white",style="solid",shape="box"];7967 -> 8651[label="",style="solid", color="burlywood", weight=9]; 8651 -> 7985[label="",style="solid", color="burlywood", weight=3]; 8652[label="vuz468/Neg vuz4680",fontsize=10,color="white",style="solid",shape="box"];7967 -> 8652[label="",style="solid", color="burlywood", weight=9]; 8652 -> 7986[label="",style="solid", color="burlywood", weight=3]; 7968[label="primQuotInt (Neg vuz2680) vuz468",fontsize=16,color="burlywood",shape="box"];8653[label="vuz468/Pos vuz4680",fontsize=10,color="white",style="solid",shape="box"];7968 -> 8653[label="",style="solid", color="burlywood", weight=9]; 8653 -> 7987[label="",style="solid", color="burlywood", weight=3]; 8654[label="vuz468/Neg vuz4680",fontsize=10,color="white",style="solid",shape="box"];7968 -> 8654[label="",style="solid", color="burlywood", weight=9]; 8654 -> 7988[label="",style="solid", color="burlywood", weight=3]; 7929 -> 2686[label="",style="dashed", color="red", weight=0]; 7929[label="primNegInt (Neg (Succ vuz29800))",fontsize=16,color="magenta"];7929 -> 7975[label="",style="dashed", color="magenta", weight=3]; 8020[label="Pos (Succ vuz29800)",fontsize=16,color="green",shape="box"];8021[label="Pos (Succ vuz29800)",fontsize=16,color="green",shape="box"];8024[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (Integer (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (Integer (Pos Zero)) == LT))) (Integer vuz473 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (Integer (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];8024 -> 8038[label="",style="solid", color="black", weight=3]; 7973[label="Integer vuz268 `quot` gcd0Gcd'1 ((`negate` Integer (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) ((`negate` Integer (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7973 -> 7992[label="",style="solid", color="black", weight=3]; 7985[label="primQuotInt (Pos vuz2680) (Pos vuz4680)",fontsize=16,color="burlywood",shape="box"];8655[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7985 -> 8655[label="",style="solid", color="burlywood", weight=9]; 8655 -> 8001[label="",style="solid", color="burlywood", weight=3]; 8656[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7985 -> 8656[label="",style="solid", color="burlywood", weight=9]; 8656 -> 8002[label="",style="solid", color="burlywood", weight=3]; 7986[label="primQuotInt (Pos vuz2680) (Neg vuz4680)",fontsize=16,color="burlywood",shape="box"];8657[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7986 -> 8657[label="",style="solid", color="burlywood", weight=9]; 8657 -> 8003[label="",style="solid", color="burlywood", weight=3]; 8658[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7986 -> 8658[label="",style="solid", color="burlywood", weight=9]; 8658 -> 8004[label="",style="solid", color="burlywood", weight=3]; 7987[label="primQuotInt (Neg vuz2680) (Pos vuz4680)",fontsize=16,color="burlywood",shape="box"];8659[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7987 -> 8659[label="",style="solid", color="burlywood", weight=9]; 8659 -> 8005[label="",style="solid", color="burlywood", weight=3]; 8660[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7987 -> 8660[label="",style="solid", color="burlywood", weight=9]; 8660 -> 8006[label="",style="solid", color="burlywood", weight=3]; 7988[label="primQuotInt (Neg vuz2680) (Neg vuz4680)",fontsize=16,color="burlywood",shape="box"];8661[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7988 -> 8661[label="",style="solid", color="burlywood", weight=9]; 8661 -> 8007[label="",style="solid", color="burlywood", weight=3]; 8662[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7988 -> 8662[label="",style="solid", color="burlywood", weight=9]; 8662 -> 8008[label="",style="solid", color="burlywood", weight=3]; 7975[label="vuz29800",fontsize=16,color="green",shape="box"];8038[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer vuz269) (not (primCmpInt vuz269 (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (primCmpInt vuz269 (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer vuz269) (not (primCmpInt vuz269 (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8663[label="vuz269/Pos vuz2690",fontsize=10,color="white",style="solid",shape="box"];8038 -> 8663[label="",style="solid", color="burlywood", weight=9]; 8663 -> 8041[label="",style="solid", color="burlywood", weight=3]; 8664[label="vuz269/Neg vuz2690",fontsize=10,color="white",style="solid",shape="box"];8038 -> 8664[label="",style="solid", color="burlywood", weight=9]; 8664 -> 8042[label="",style="solid", color="burlywood", weight=3]; 7992 -> 8015[label="",style="dashed", color="red", weight=0]; 7992[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (primNegInt (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7992 -> 8022[label="",style="dashed", color="magenta", weight=3]; 7992 -> 8023[label="",style="dashed", color="magenta", weight=3]; 8001[label="primQuotInt (Pos vuz2680) (Pos (Succ vuz46800))",fontsize=16,color="black",shape="box"];8001 -> 8025[label="",style="solid", color="black", weight=3]; 8002[label="primQuotInt (Pos vuz2680) (Pos Zero)",fontsize=16,color="black",shape="box"];8002 -> 8026[label="",style="solid", color="black", weight=3]; 8003[label="primQuotInt (Pos vuz2680) (Neg (Succ vuz46800))",fontsize=16,color="black",shape="box"];8003 -> 8027[label="",style="solid", color="black", weight=3]; 8004[label="primQuotInt (Pos vuz2680) (Neg Zero)",fontsize=16,color="black",shape="box"];8004 -> 8028[label="",style="solid", color="black", weight=3]; 8005[label="primQuotInt (Neg vuz2680) (Pos (Succ vuz46800))",fontsize=16,color="black",shape="box"];8005 -> 8029[label="",style="solid", color="black", weight=3]; 8006[label="primQuotInt (Neg vuz2680) (Pos Zero)",fontsize=16,color="black",shape="box"];8006 -> 8030[label="",style="solid", color="black", weight=3]; 8007[label="primQuotInt (Neg vuz2680) (Neg (Succ vuz46800))",fontsize=16,color="black",shape="box"];8007 -> 8031[label="",style="solid", color="black", weight=3]; 8008[label="primQuotInt (Neg vuz2680) (Neg Zero)",fontsize=16,color="black",shape="box"];8008 -> 8032[label="",style="solid", color="black", weight=3]; 8041[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos vuz2690)) (not (primCmpInt (Pos vuz2690) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos vuz2690)) (not (primCmpInt (Pos vuz2690) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos vuz2690)) (not (primCmpInt (Pos vuz2690) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8665[label="vuz2690/Succ vuz26900",fontsize=10,color="white",style="solid",shape="box"];8041 -> 8665[label="",style="solid", color="burlywood", weight=9]; 8665 -> 8057[label="",style="solid", color="burlywood", weight=3]; 8666[label="vuz2690/Zero",fontsize=10,color="white",style="solid",shape="box"];8041 -> 8666[label="",style="solid", color="burlywood", weight=9]; 8666 -> 8058[label="",style="solid", color="burlywood", weight=3]; 8042[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg vuz2690)) (not (primCmpInt (Neg vuz2690) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg vuz2690)) (not (primCmpInt (Neg vuz2690) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg vuz2690)) (not (primCmpInt (Neg vuz2690) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8667[label="vuz2690/Succ vuz26900",fontsize=10,color="white",style="solid",shape="box"];8042 -> 8667[label="",style="solid", color="burlywood", weight=9]; 8667 -> 8059[label="",style="solid", color="burlywood", weight=3]; 8668[label="vuz2690/Zero",fontsize=10,color="white",style="solid",shape="box"];8042 -> 8668[label="",style="solid", color="burlywood", weight=9]; 8668 -> 8060[label="",style="solid", color="burlywood", weight=3]; 8022 -> 2686[label="",style="dashed", color="red", weight=0]; 8022[label="primNegInt (Neg (Succ vuz29800))",fontsize=16,color="magenta"];8022 -> 8045[label="",style="dashed", color="magenta", weight=3]; 8023 -> 2686[label="",style="dashed", color="red", weight=0]; 8023[label="primNegInt (Neg (Succ vuz29800))",fontsize=16,color="magenta"];8023 -> 8046[label="",style="dashed", color="magenta", weight=3]; 8025[label="Pos (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8025 -> 8047[label="",style="dashed", color="green", weight=3]; 8026 -> 3082[label="",style="dashed", color="red", weight=0]; 8026[label="error []",fontsize=16,color="magenta"];8027[label="Neg (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8027 -> 8048[label="",style="dashed", color="green", weight=3]; 8028 -> 3082[label="",style="dashed", color="red", weight=0]; 8028[label="error []",fontsize=16,color="magenta"];8029[label="Neg (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8029 -> 8049[label="",style="dashed", color="green", weight=3]; 8030 -> 3082[label="",style="dashed", color="red", weight=0]; 8030[label="error []",fontsize=16,color="magenta"];8031[label="Pos (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8031 -> 8050[label="",style="dashed", color="green", weight=3]; 8032 -> 3082[label="",style="dashed", color="red", weight=0]; 8032[label="error []",fontsize=16,color="magenta"];8057[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpInt (Pos (Succ vuz26900)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpInt (Pos (Succ vuz26900)) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpInt (Pos (Succ vuz26900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8057 -> 8075[label="",style="solid", color="black", weight=3]; 8058[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8058 -> 8076[label="",style="solid", color="black", weight=3]; 8059[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (primCmpInt (Neg (Succ vuz26900)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) (not (primCmpInt (Neg (Succ vuz26900)) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (primCmpInt (Neg (Succ vuz26900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8059 -> 8077[label="",style="solid", color="black", weight=3]; 8060[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8060 -> 8078[label="",style="solid", color="black", weight=3]; 8045[label="vuz29800",fontsize=16,color="green",shape="box"];8046[label="vuz29800",fontsize=16,color="green",shape="box"];8047 -> 5661[label="",style="dashed", color="red", weight=0]; 8047[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8047 -> 8061[label="",style="dashed", color="magenta", weight=3]; 8047 -> 8062[label="",style="dashed", color="magenta", weight=3]; 8048 -> 5661[label="",style="dashed", color="red", weight=0]; 8048[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8048 -> 8063[label="",style="dashed", color="magenta", weight=3]; 8048 -> 8064[label="",style="dashed", color="magenta", weight=3]; 8049 -> 5661[label="",style="dashed", color="red", weight=0]; 8049[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8049 -> 8065[label="",style="dashed", color="magenta", weight=3]; 8049 -> 8066[label="",style="dashed", color="magenta", weight=3]; 8050 -> 5661[label="",style="dashed", color="red", weight=0]; 8050[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8050 -> 8067[label="",style="dashed", color="magenta", weight=3]; 8050 -> 8068[label="",style="dashed", color="magenta", weight=3]; 8075[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpNat (Succ vuz26900) Zero == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpNat (Succ vuz26900) Zero == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpNat (Succ vuz26900) Zero == LT)))",fontsize=16,color="black",shape="box"];8075 -> 8083[label="",style="solid", color="black", weight=3]; 8076[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];8076 -> 8084[label="",style="solid", color="black", weight=3]; 8077[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (LT == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) (not (LT == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];8077 -> 8085[label="",style="solid", color="black", weight=3]; 8078[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];8078 -> 8086[label="",style="solid", color="black", weight=3]; 8061[label="vuz46800",fontsize=16,color="green",shape="box"];8062[label="vuz2680",fontsize=16,color="green",shape="box"];8063[label="vuz46800",fontsize=16,color="green",shape="box"];8064[label="vuz2680",fontsize=16,color="green",shape="box"];8065[label="vuz46800",fontsize=16,color="green",shape="box"];8066[label="vuz2680",fontsize=16,color="green",shape="box"];8067[label="vuz46800",fontsize=16,color="green",shape="box"];8068[label="vuz2680",fontsize=16,color="green",shape="box"];8083[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (GT == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not (GT == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];8083 -> 8094[label="",style="solid", color="black", weight=3]; 8084[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) (not False) == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not False)) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="box"];8084 -> 8095[label="",style="solid", color="black", weight=3]; 8085[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not True) == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) (not True)) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not True))",fontsize=16,color="black",shape="box"];8085 -> 8096[label="",style="solid", color="black", weight=3]; 8086[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) (not False) == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not False)) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="box"];8086 -> 8097[label="",style="solid", color="black", weight=3]; 8094[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not False) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not False)) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not False))",fontsize=16,color="black",shape="box"];8094 -> 8141[label="",style="solid", color="black", weight=3]; 8095[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) True) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];8095 -> 8142[label="",style="solid", color="black", weight=3]; 8096[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) False == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) False) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) False)",fontsize=16,color="black",shape="box"];8096 -> 8143[label="",style="solid", color="black", weight=3]; 8097[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) True) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];8097 -> 8144[label="",style="solid", color="black", weight=3]; 8141[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) True == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) True) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) True)",fontsize=16,color="black",shape="box"];8141 -> 8149[label="",style="solid", color="black", weight=3]; 8142 -> 8196[label="",style="dashed", color="red", weight=0]; 8142[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (Pos Zero) == fromInt (Pos Zero)) (Integer (Pos Zero)) (Integer vuz473 `rem` Integer (Pos Zero))",fontsize=16,color="magenta"];8142 -> 8197[label="",style="dashed", color="magenta", weight=3]; 8142 -> 8198[label="",style="dashed", color="magenta", weight=3]; 8142 -> 8199[label="",style="dashed", color="magenta", weight=3]; 8143[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal0 (Integer (Neg (Succ vuz26900))) otherwise == fromInt (Pos Zero)) (absReal0 (Integer (Neg (Succ vuz26900))) otherwise) (Integer vuz473 `rem` absReal0 (Integer (Neg (Succ vuz26900))) otherwise)",fontsize=16,color="black",shape="box"];8143 -> 8151[label="",style="solid", color="black", weight=3]; 8144 -> 8196[label="",style="dashed", color="red", weight=0]; 8144[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (Neg Zero) == fromInt (Pos Zero)) (Integer (Neg Zero)) (Integer vuz473 `rem` Integer (Neg Zero))",fontsize=16,color="magenta"];8144 -> 8200[label="",style="dashed", color="magenta", weight=3]; 8144 -> 8201[label="",style="dashed", color="magenta", weight=3]; 8144 -> 8202[label="",style="dashed", color="magenta", weight=3]; 8149 -> 8196[label="",style="dashed", color="red", weight=0]; 8149[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (Pos (Succ vuz26900)) == fromInt (Pos Zero)) (Integer (Pos (Succ vuz26900))) (Integer vuz473 `rem` Integer (Pos (Succ vuz26900)))",fontsize=16,color="magenta"];8149 -> 8203[label="",style="dashed", color="magenta", weight=3]; 8149 -> 8204[label="",style="dashed", color="magenta", weight=3]; 8149 -> 8205[label="",style="dashed", color="magenta", weight=3]; 8197[label="Pos Zero",fontsize=16,color="green",shape="box"];8198[label="Pos Zero",fontsize=16,color="green",shape="box"];8199[label="Pos Zero",fontsize=16,color="green",shape="box"];8196[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer vuz503 == fromInt (Pos Zero)) (Integer vuz501) (Integer vuz473 `rem` Integer vuz502)",fontsize=16,color="black",shape="triangle"];8196 -> 8209[label="",style="solid", color="black", weight=3]; 8151[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal0 (Integer (Neg (Succ vuz26900))) True == fromInt (Pos Zero)) (absReal0 (Integer (Neg (Succ vuz26900))) True) (Integer vuz473 `rem` absReal0 (Integer (Neg (Succ vuz26900))) True)",fontsize=16,color="black",shape="box"];8151 -> 8165[label="",style="solid", color="black", weight=3]; 8200[label="Neg Zero",fontsize=16,color="green",shape="box"];8201[label="Neg Zero",fontsize=16,color="green",shape="box"];8202[label="Neg Zero",fontsize=16,color="green",shape="box"];8203[label="Pos (Succ vuz26900)",fontsize=16,color="green",shape="box"];8204[label="Pos (Succ vuz26900)",fontsize=16,color="green",shape="box"];8205[label="Pos (Succ vuz26900)",fontsize=16,color="green",shape="box"];8209 -> 8213[label="",style="dashed", color="red", weight=0]; 8209[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (primRemInt vuz474 vuz503) == fromInt (Pos Zero)) (Integer vuz501) (Integer (primRemInt vuz474 vuz503))",fontsize=16,color="magenta"];8209 -> 8214[label="",style="dashed", color="magenta", weight=3]; 8209 -> 8215[label="",style="dashed", color="magenta", weight=3]; 8165[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` (`negate` Integer (Neg (Succ vuz26900))) == fromInt (Pos Zero)) (`negate` Integer (Neg (Succ vuz26900))) (Integer vuz473 `rem` (`negate` Integer (Neg (Succ vuz26900))))",fontsize=16,color="black",shape="box"];8165 -> 8181[label="",style="solid", color="black", weight=3]; 8214 -> 4263[label="",style="dashed", color="red", weight=0]; 8214[label="primRemInt vuz474 vuz503",fontsize=16,color="magenta"];8214 -> 8216[label="",style="dashed", color="magenta", weight=3]; 8214 -> 8217[label="",style="dashed", color="magenta", weight=3]; 8215 -> 6099[label="",style="dashed", color="red", weight=0]; 8215[label="Integer (primRemInt vuz474 vuz503) == fromInt (Pos Zero)",fontsize=16,color="magenta"];8215 -> 8218[label="",style="dashed", color="magenta", weight=3]; 8213[label="Integer vuz268 `quot` gcd0Gcd'1 vuz504 (Integer vuz501) (Integer vuz505)",fontsize=16,color="burlywood",shape="triangle"];8669[label="vuz504/False",fontsize=10,color="white",style="solid",shape="box"];8213 -> 8669[label="",style="solid", color="burlywood", weight=9]; 8669 -> 8219[label="",style="solid", color="burlywood", weight=3]; 8670[label="vuz504/True",fontsize=10,color="white",style="solid",shape="box"];8213 -> 8670[label="",style="solid", color="burlywood", weight=9]; 8670 -> 8220[label="",style="solid", color="burlywood", weight=3]; 8181 -> 8196[label="",style="dashed", color="red", weight=0]; 8181[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (primNegInt (Neg (Succ vuz26900))) == fromInt (Pos Zero)) (Integer (primNegInt (Neg (Succ vuz26900)))) (Integer vuz473 `rem` Integer (primNegInt (Neg (Succ vuz26900))))",fontsize=16,color="magenta"];8181 -> 8206[label="",style="dashed", color="magenta", weight=3]; 8181 -> 8207[label="",style="dashed", color="magenta", weight=3]; 8181 -> 8208[label="",style="dashed", color="magenta", weight=3]; 8216[label="vuz474",fontsize=16,color="green",shape="box"];8217[label="vuz503",fontsize=16,color="green",shape="box"];8218 -> 4263[label="",style="dashed", color="red", weight=0]; 8218[label="primRemInt vuz474 vuz503",fontsize=16,color="magenta"];8218 -> 8221[label="",style="dashed", color="magenta", weight=3]; 8218 -> 8222[label="",style="dashed", color="magenta", weight=3]; 8219[label="Integer vuz268 `quot` gcd0Gcd'1 False (Integer vuz501) (Integer vuz505)",fontsize=16,color="black",shape="box"];8219 -> 8223[label="",style="solid", color="black", weight=3]; 8220[label="Integer vuz268 `quot` gcd0Gcd'1 True (Integer vuz501) (Integer vuz505)",fontsize=16,color="black",shape="box"];8220 -> 8224[label="",style="solid", color="black", weight=3]; 8206 -> 2686[label="",style="dashed", color="red", weight=0]; 8206[label="primNegInt (Neg (Succ vuz26900))",fontsize=16,color="magenta"];8206 -> 8210[label="",style="dashed", color="magenta", weight=3]; 8207 -> 2686[label="",style="dashed", color="red", weight=0]; 8207[label="primNegInt (Neg (Succ vuz26900))",fontsize=16,color="magenta"];8207 -> 8211[label="",style="dashed", color="magenta", weight=3]; 8208 -> 2686[label="",style="dashed", color="red", weight=0]; 8208[label="primNegInt (Neg (Succ vuz26900))",fontsize=16,color="magenta"];8208 -> 8212[label="",style="dashed", color="magenta", weight=3]; 8221[label="vuz474",fontsize=16,color="green",shape="box"];8222[label="vuz503",fontsize=16,color="green",shape="box"];8223[label="Integer vuz268 `quot` gcd0Gcd'0 (Integer vuz501) (Integer vuz505)",fontsize=16,color="black",shape="box"];8223 -> 8225[label="",style="solid", color="black", weight=3]; 8224 -> 7925[label="",style="dashed", color="red", weight=0]; 8224[label="Integer vuz268 `quot` Integer vuz501",fontsize=16,color="magenta"];8224 -> 8226[label="",style="dashed", color="magenta", weight=3]; 8210[label="vuz26900",fontsize=16,color="green",shape="box"];8211[label="vuz26900",fontsize=16,color="green",shape="box"];8212[label="vuz26900",fontsize=16,color="green",shape="box"];8225[label="Integer vuz268 `quot` gcd0Gcd' (Integer vuz505) (Integer vuz501 `rem` Integer vuz505)",fontsize=16,color="black",shape="box"];8225 -> 8227[label="",style="solid", color="black", weight=3]; 8226[label="vuz501",fontsize=16,color="green",shape="box"];8227[label="Integer vuz268 `quot` gcd0Gcd'2 (Integer vuz505) (Integer vuz501 `rem` Integer vuz505)",fontsize=16,color="black",shape="box"];8227 -> 8228[label="",style="solid", color="black", weight=3]; 8228 -> 8196[label="",style="dashed", color="red", weight=0]; 8228[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz501 `rem` Integer vuz505 == fromInt (Pos Zero)) (Integer vuz505) (Integer vuz501 `rem` Integer vuz505)",fontsize=16,color="magenta"];8228 -> 8229[label="",style="dashed", color="magenta", weight=3]; 8228 -> 8230[label="",style="dashed", color="magenta", weight=3]; 8228 -> 8231[label="",style="dashed", color="magenta", weight=3]; 8228 -> 8232[label="",style="dashed", color="magenta", weight=3]; 8228 -> 8233[label="",style="dashed", color="magenta", weight=3]; 8229[label="vuz505",fontsize=16,color="green",shape="box"];8230[label="vuz505",fontsize=16,color="green",shape="box"];8231[label="vuz501",fontsize=16,color="green",shape="box"];8232[label="vuz505",fontsize=16,color="green",shape="box"];8233[label="vuz501",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(vuz156000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz156000), Zero) new_primModNatS(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS0(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS1, Zero) new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS0(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS0(vuz488, vuz489, Zero, Zero) -> new_primModNatS00(vuz488, vuz489) new_primModNatS00(vuz488, vuz489) -> new_primModNatS(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) 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(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS0(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS0(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS0(vuz488, vuz489, Zero, Zero) -> new_primModNatS00(vuz488, vuz489) new_primModNatS00(vuz488, vuz489) -> new_primModNatS(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) 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(vuz156000)), Succ(vuz155000)) -> new_primModNatS0(vuz156000, vuz155000, vuz156000, vuz155000) 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(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS0(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS0(vuz488, vuz489, Zero, Zero) -> new_primModNatS00(vuz488, vuz489) new_primModNatS00(vuz488, vuz489) -> new_primModNatS(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) 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(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS0(vuz488, vuz489, vuz4900, vuz4910) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) 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(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS0(vuz488, vuz489, vuz4900, vuz4910) 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(vuz156000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz156000), Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) 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(vuz156000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz156000), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Succ(vuz4530)) -> 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(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) 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_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(vuz268, vuz474, vuz503, vuz501, vuz473, vuz502) -> new_quot0(vuz268, new_esEs0(new_primRemInt(vuz474, vuz503)), vuz501, new_primRemInt(vuz474, vuz503)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqNat0(Zero, Zero) -> True new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primEqInt(Neg(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_esEs0(vuz269) -> new_primEqInt(vuz269, Pos(Zero)) new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False new_primModNatS1(Zero, vuz15500) -> Zero new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_error -> error([]) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primEqNat0(Succ(vuz170000), Zero) -> False new_primEqNat0(Zero, Succ(vuz173000)) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primEqInt(Pos(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_quot(vuz268, vuz474, vuz503, vuz501, vuz473, vuz502) -> new_quot0(vuz268, new_esEs0(new_primRemInt(vuz474, vuz503)), vuz501, new_primRemInt(vuz474, vuz503)) we obtained the following new rules [LPAR04]: (new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_esEs0(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)),new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_esEs0(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2))) ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_esEs0(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqNat0(Zero, Zero) -> True new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primEqInt(Neg(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_esEs0(vuz269) -> new_primEqInt(vuz269, Pos(Zero)) new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False new_primModNatS1(Zero, vuz15500) -> Zero new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_error -> error([]) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primEqNat0(Succ(vuz170000), Zero) -> False new_primEqNat0(Zero, Succ(vuz173000)) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primEqInt(Pos(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (31) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (32) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_esEs0(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_esEs0(vuz269) -> new_primEqInt(vuz269, Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (33) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primEqNat0(Zero, Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_primEqNat0(Succ(x0), Zero) new_primEqNat0(Zero, Succ(x0)) ---------------------------------------- (34) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_esEs0(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_esEs0(vuz269) -> new_primEqInt(vuz269, Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (35) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_esEs0(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) at position [1] we obtained the following new rules [LPAR04]: (new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)),new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2))) ---------------------------------------- (36) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_esEs0(vuz269) -> new_primEqInt(vuz269, Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (37) 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. ---------------------------------------- (38) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_esEs0(x0) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (39) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_esEs0(x0) ---------------------------------------- (40) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (41) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) the following chains were created: *We consider the chain new_quot0(x3, False, x4, x5) -> new_quot(x3, x4, x5, x5, x4, x5), new_quot(x6, x7, x8, x8, x7, x8) -> new_quot0(x6, new_primEqInt(new_primRemInt(x7, x8), Pos(Zero)), x8, new_primRemInt(x7, x8)) which results in the following constraint: (1) (new_quot(x3, x4, x5, x5, x4, x5)=new_quot(x6, x7, x8, x8, x7, x8) ==> new_quot0(x3, False, x4, x5)_>=_new_quot(x3, x4, x5, x5, x4, x5)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot0(x3, False, x4, x5)_>=_new_quot(x3, x4, x5, x5, x4, x5)) For Pair new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) the following chains were created: *We consider the chain new_quot(x9, x10, x11, x11, x10, x11) -> new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11)), new_quot0(x12, False, x13, x14) -> new_quot(x12, x13, x14, x14, x13, x14) which results in the following constraint: (1) (new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))=new_quot0(x12, False, x13, x14) ==> new_quot(x9, x10, x11, x11, x10, x11)_>=_new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (new_primRemInt(x10, x11)=x18 & Pos(Zero)=x19 & new_primEqInt(x18, x19)=False ==> new_quot(x9, x10, x11, x11, x10, x11)_>=_new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x18, x19)=False which results in the following new constraints: (3) (False=False & new_primRemInt(x10, x11)=Pos(Succ(x20)) & Pos(Zero)=Pos(Zero) ==> new_quot(x9, x10, x11, x11, x10, x11)_>=_new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) (4) (False=False & new_primRemInt(x10, x11)=Neg(Succ(x22)) & Pos(Zero)=Pos(x21) ==> new_quot(x9, x10, x11, x11, x10, x11)_>=_new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primRemInt(x10, x11)=Pos(Succ(x20)) ==> new_quot(x9, x10, x11, x11, x10, x11)_>=_new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: (6) (new_primRemInt(x10, x11)=Neg(Succ(x22)) ==> new_quot(x9, x10, x11, x11, x10, x11)_>=_new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x10, x11)=Pos(Succ(x20)) which results in the following new constraints: (7) (Pos(new_primModNatS1(x24, x23))=Pos(Succ(x20)) ==> new_quot(x9, Pos(x24), Neg(Succ(x23)), Neg(Succ(x23)), Pos(x24), Neg(Succ(x23)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x24), Neg(Succ(x23))), Pos(Zero)), Neg(Succ(x23)), new_primRemInt(Pos(x24), Neg(Succ(x23))))) (8) (Pos(new_primModNatS1(x26, x25))=Pos(Succ(x20)) ==> new_quot(x9, Pos(x26), Pos(Succ(x25)), Pos(Succ(x25)), Pos(x26), Pos(Succ(x25)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x26), Pos(Succ(x25))), Pos(Zero)), Pos(Succ(x25)), new_primRemInt(Pos(x26), Pos(Succ(x25))))) (9) (new_error=Pos(Succ(x20)) ==> new_quot(x9, Neg(x27), Neg(Zero), Neg(Zero), Neg(x27), Neg(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x27), Neg(Zero)), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x27), Neg(Zero)))) (10) (new_error=Pos(Succ(x20)) ==> new_quot(x9, Pos(x30), Pos(Zero), Pos(Zero), Pos(x30), Pos(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x30), Pos(Zero)), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x30), Pos(Zero)))) (11) (new_error=Pos(Succ(x20)) ==> new_quot(x9, Pos(x33), Neg(Zero), Neg(Zero), Pos(x33), Neg(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x33), Neg(Zero)), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x33), Neg(Zero)))) (12) (new_error=Pos(Succ(x20)) ==> new_quot(x9, Neg(x34), Pos(Zero), Pos(Zero), Neg(x34), Pos(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x34), Pos(Zero)), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x34), Pos(Zero)))) We simplified constraint (7) using rules (I), (II) which results in the following new constraint: (13) (new_primModNatS1(x24, x23)=Succ(x20) ==> new_quot(x9, Pos(x24), Neg(Succ(x23)), Neg(Succ(x23)), Pos(x24), Neg(Succ(x23)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x24), Neg(Succ(x23))), Pos(Zero)), Neg(Succ(x23)), new_primRemInt(Pos(x24), Neg(Succ(x23))))) We simplified constraint (8) using rules (I), (II) which results in the following new constraint: (14) (new_primModNatS1(x26, x25)=Succ(x20) ==> new_quot(x9, Pos(x26), Pos(Succ(x25)), Pos(Succ(x25)), Pos(x26), Pos(Succ(x25)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x26), Pos(Succ(x25))), Pos(Zero)), Pos(Succ(x25)), new_primRemInt(Pos(x26), Pos(Succ(x25))))) 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(x24, x23)=Succ(x20) which results in the following new constraints: (15) (Succ(Zero)=Succ(x20) ==> new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x35))), Neg(Succ(Succ(x35))), Pos(Succ(Zero)), Neg(Succ(Succ(x35))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x35)))), Pos(Zero)), Neg(Succ(Succ(x35))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x35)))))) (16) (new_primModNatS1(new_primMinusNatS0(x37), Zero)=Succ(x20) ==> new_quot(x9, Pos(Succ(Succ(x37))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x37))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Zero))))) (17) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x20) ==> new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) (18) (new_primModNatS02(x39, x38, x39, x38)=Succ(x20) ==> new_quot(x9, Pos(Succ(Succ(x39))), Neg(Succ(Succ(x38))), Neg(Succ(Succ(x38))), Pos(Succ(Succ(x39))), Neg(Succ(Succ(x38))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x39))), Neg(Succ(Succ(x38)))), Pos(Zero)), Neg(Succ(Succ(x38))), new_primRemInt(Pos(Succ(Succ(x39))), Neg(Succ(Succ(x38)))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x35))), Neg(Succ(Succ(x35))), Pos(Succ(Zero)), Neg(Succ(Succ(x35))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x35)))), Pos(Zero)), Neg(Succ(Succ(x35))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x35)))))) We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_quot(x9, Pos(Succ(Succ(x37))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x37))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Zero))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (21) (new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_quot(x9, Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45))), Neg(Succ(Succ(x45))), Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45)))), Pos(Zero)), Neg(Succ(Succ(x45))), new_primRemInt(Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45)))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x26, x25)=Succ(x20) which results in the following new constraints: (23) (Succ(Zero)=Succ(x20) ==> new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x46))), Pos(Succ(Succ(x46))), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x46)))), Pos(Zero)), Pos(Succ(Succ(x46))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x46)))))) (24) (new_primModNatS1(new_primMinusNatS0(x48), Zero)=Succ(x20) ==> new_quot(x9, Pos(Succ(Succ(x48))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x48))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Zero))))) (25) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x20) ==> new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) (26) (new_primModNatS02(x50, x49, x50, x49)=Succ(x20) ==> new_quot(x9, Pos(Succ(Succ(x50))), Pos(Succ(Succ(x49))), Pos(Succ(Succ(x49))), Pos(Succ(Succ(x50))), Pos(Succ(Succ(x49))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x50))), Pos(Succ(Succ(x49)))), Pos(Zero)), Pos(Succ(Succ(x49))), new_primRemInt(Pos(Succ(Succ(x50))), Pos(Succ(Succ(x49)))))) We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: (27) (new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x46))), Pos(Succ(Succ(x46))), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x46)))), Pos(Zero)), Pos(Succ(Succ(x46))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x46)))))) We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: (28) (new_quot(x9, Pos(Succ(Succ(x48))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x48))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Zero))))) We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: (29) (new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: (30) (new_quot(x9, Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))), Pos(Succ(Succ(x56))), Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56)))), Pos(Zero)), Pos(Succ(Succ(x56))), new_primRemInt(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56)))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x10, x11)=Neg(Succ(x22)) which results in the following new constraints: (31) (new_error=Neg(Succ(x22)) ==> new_quot(x9, Neg(x61), Neg(Zero), Neg(Zero), Neg(x61), Neg(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x61), Neg(Zero)), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x61), Neg(Zero)))) (32) (Neg(new_primModNatS1(x63, x62))=Neg(Succ(x22)) ==> new_quot(x9, Neg(x63), Pos(Succ(x62)), Pos(Succ(x62)), Neg(x63), Pos(Succ(x62)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x63), Pos(Succ(x62))), Pos(Zero)), Pos(Succ(x62)), new_primRemInt(Neg(x63), Pos(Succ(x62))))) (33) (new_error=Neg(Succ(x22)) ==> new_quot(x9, Pos(x64), Pos(Zero), Pos(Zero), Pos(x64), Pos(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x64), Pos(Zero)), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x64), Pos(Zero)))) (34) (Neg(new_primModNatS1(x66, x65))=Neg(Succ(x22)) ==> new_quot(x9, Neg(x66), Neg(Succ(x65)), Neg(Succ(x65)), Neg(x66), Neg(Succ(x65)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x66), Neg(Succ(x65))), Pos(Zero)), Neg(Succ(x65)), new_primRemInt(Neg(x66), Neg(Succ(x65))))) (35) (new_error=Neg(Succ(x22)) ==> new_quot(x9, Pos(x67), Neg(Zero), Neg(Zero), Pos(x67), Neg(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x67), Neg(Zero)), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x67), Neg(Zero)))) (36) (new_error=Neg(Succ(x22)) ==> new_quot(x9, Neg(x68), Pos(Zero), Pos(Zero), Neg(x68), Pos(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x68), Pos(Zero)), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x68), Pos(Zero)))) We solved constraint (31) using rule (V) (with possible (I) afterwards).We simplified constraint (32) using rules (I), (II) which results in the following new constraint: (37) (new_primModNatS1(x63, x62)=Succ(x22) ==> new_quot(x9, Neg(x63), Pos(Succ(x62)), Pos(Succ(x62)), Neg(x63), Pos(Succ(x62)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x63), Pos(Succ(x62))), Pos(Zero)), Pos(Succ(x62)), new_primRemInt(Neg(x63), Pos(Succ(x62))))) We solved constraint (33) using rule (V) (with possible (I) afterwards).We simplified constraint (34) using rules (I), (II) which results in the following new constraint: (38) (new_primModNatS1(x66, x65)=Succ(x22) ==> new_quot(x9, Neg(x66), Neg(Succ(x65)), Neg(Succ(x65)), Neg(x66), Neg(Succ(x65)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x66), Neg(Succ(x65))), Pos(Zero)), Neg(Succ(x65)), new_primRemInt(Neg(x66), Neg(Succ(x65))))) We solved constraint (35) using rule (V) (with possible (I) afterwards).We solved constraint (36) using rule (V) (with possible (I) afterwards).We simplified constraint (37) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x63, x62)=Succ(x22) which results in the following new constraints: (39) (Succ(Zero)=Succ(x22) ==> new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x69))), Pos(Succ(Succ(x69))), Neg(Succ(Zero)), Pos(Succ(Succ(x69))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69)))), Pos(Zero)), Pos(Succ(Succ(x69))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69)))))) (40) (new_primModNatS1(new_primMinusNatS0(x71), Zero)=Succ(x22) ==> new_quot(x9, Neg(Succ(Succ(x71))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x71))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero))))) (41) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x22) ==> new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) (42) (new_primModNatS02(x73, x72, x73, x72)=Succ(x22) ==> new_quot(x9, Neg(Succ(Succ(x73))), Pos(Succ(Succ(x72))), Pos(Succ(Succ(x72))), Neg(Succ(Succ(x73))), Pos(Succ(Succ(x72))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x73))), Pos(Succ(Succ(x72)))), Pos(Zero)), Pos(Succ(Succ(x72))), new_primRemInt(Neg(Succ(Succ(x73))), Pos(Succ(Succ(x72)))))) We simplified constraint (39) using rules (I), (II), (IV) which results in the following new constraint: (43) (new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x69))), Pos(Succ(Succ(x69))), Neg(Succ(Zero)), Pos(Succ(Succ(x69))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69)))), Pos(Zero)), Pos(Succ(Succ(x69))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69)))))) We simplified constraint (40) using rules (III), (IV), (VII) which results in the following new constraint: (44) (new_quot(x9, Neg(Succ(Succ(x71))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x71))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero))))) We simplified constraint (41) using rules (III), (IV), (VII) which results in the following new constraint: (45) (new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) We simplified constraint (42) using rules (III), (IV), (VII) which results in the following new constraint: (46) (new_quot(x9, Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79))), Pos(Succ(Succ(x79))), Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79)))), Pos(Zero)), Pos(Succ(Succ(x79))), new_primRemInt(Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79)))))) We simplified constraint (38) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x66, x65)=Succ(x22) which results in the following new constraints: (47) (Succ(Zero)=Succ(x22) ==> new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x80))), Neg(Succ(Succ(x80))), Neg(Succ(Zero)), Neg(Succ(Succ(x80))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x80)))), Pos(Zero)), Neg(Succ(Succ(x80))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x80)))))) (48) (new_primModNatS1(new_primMinusNatS0(x82), Zero)=Succ(x22) ==> new_quot(x9, Neg(Succ(Succ(x82))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x82))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Zero))))) (49) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x22) ==> new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) (50) (new_primModNatS02(x84, x83, x84, x83)=Succ(x22) ==> new_quot(x9, Neg(Succ(Succ(x84))), Neg(Succ(Succ(x83))), Neg(Succ(Succ(x83))), Neg(Succ(Succ(x84))), Neg(Succ(Succ(x83))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x84))), Neg(Succ(Succ(x83)))), Pos(Zero)), Neg(Succ(Succ(x83))), new_primRemInt(Neg(Succ(Succ(x84))), Neg(Succ(Succ(x83)))))) We simplified constraint (47) using rules (I), (II), (IV) which results in the following new constraint: (51) (new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x80))), Neg(Succ(Succ(x80))), Neg(Succ(Zero)), Neg(Succ(Succ(x80))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x80)))), Pos(Zero)), Neg(Succ(Succ(x80))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x80)))))) We simplified constraint (48) using rules (III), (IV), (VII) which results in the following new constraint: (52) (new_quot(x9, Neg(Succ(Succ(x82))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x82))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Zero))))) We simplified constraint (49) using rules (III), (IV), (VII) which results in the following new constraint: (53) (new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) We simplified constraint (50) using rules (III), (IV), (VII) which results in the following new constraint: (54) (new_quot(x9, Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90))), Neg(Succ(Succ(x90))), Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90)))), Pos(Zero)), Neg(Succ(Succ(x90))), new_primRemInt(Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90)))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) *(new_quot0(x3, False, x4, x5)_>=_new_quot(x3, x4, x5, x5, x4, x5)) *new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) *(new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x35))), Neg(Succ(Succ(x35))), Pos(Succ(Zero)), Neg(Succ(Succ(x35))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x35)))), Pos(Zero)), Neg(Succ(Succ(x35))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x35)))))) *(new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x46))), Pos(Succ(Succ(x46))), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x46)))), Pos(Zero)), Pos(Succ(Succ(x46))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x46)))))) *(new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x69))), Pos(Succ(Succ(x69))), Neg(Succ(Zero)), Pos(Succ(Succ(x69))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69)))), Pos(Zero)), Pos(Succ(Succ(x69))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69)))))) *(new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x80))), Neg(Succ(Succ(x80))), Neg(Succ(Zero)), Neg(Succ(Succ(x80))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x80)))), Pos(Zero)), Neg(Succ(Succ(x80))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x80)))))) *(new_quot(x9, Pos(Succ(Succ(x37))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x37))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Zero))))) *(new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) *(new_quot(x9, Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45))), Neg(Succ(Succ(x45))), Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45)))), Pos(Zero)), Neg(Succ(Succ(x45))), new_primRemInt(Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45)))))) *(new_quot(x9, Pos(Succ(Succ(x48))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x48))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Zero))))) *(new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) *(new_quot(x9, Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))), Pos(Succ(Succ(x56))), Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56)))), Pos(Zero)), Pos(Succ(Succ(x56))), new_primRemInt(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56)))))) *(new_quot(x9, Neg(Succ(Succ(x71))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x71))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero))))) *(new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) *(new_quot(x9, Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79))), Pos(Succ(Succ(x79))), Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79)))), Pos(Zero)), Pos(Succ(Succ(x79))), new_primRemInt(Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79)))))) *(new_quot(x9, Neg(Succ(Succ(x82))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x82))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Zero))))) *(new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) *(new_quot(x9, Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90))), Neg(Succ(Succ(x90))), Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90)))), Pos(Zero)), Neg(Succ(Succ(x90))), new_primRemInt(Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90)))))) 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. ---------------------------------------- (42) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (43) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))),new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1))))) (new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))),new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1))))) (new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))),new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero)))) (new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))),new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1))))) (new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))),new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero)))) (new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))),new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1))))) (new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))),new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero)))) (new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))),new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero)))) ---------------------------------------- (44) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (45) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) ---------------------------------------- (46) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (47) 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. ---------------------------------------- (48) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_error -> error([]) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (49) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) ---------------------------------------- (50) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_error -> error([]) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (51) 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. ---------------------------------------- (52) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_error -> error([]) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (53) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))),new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero)))) ---------------------------------------- (54) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_error -> error([]) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (55) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (56) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_error -> error([]) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (57) 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. ---------------------------------------- (58) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_error -> error([]) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (59) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) ---------------------------------------- (60) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_error -> error([]) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (61) 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. ---------------------------------------- (62) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_error -> error([]) new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (63) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))),new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero)))) ---------------------------------------- (64) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_error -> error([]) new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (65) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (66) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_error -> error([]) new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (67) 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. ---------------------------------------- (68) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_error -> error([]) new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (69) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) ---------------------------------------- (70) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_error -> error([]) new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (71) 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. ---------------------------------------- (72) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_error -> error([]) new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (73) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))),new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero)))) ---------------------------------------- (74) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_error -> error([]) new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (75) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (76) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_error -> error([]) new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (77) 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. ---------------------------------------- (78) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_error -> error([]) new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (79) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))),new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero)))) ---------------------------------------- (80) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_error -> error([]) new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (81) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (82) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_error -> error([]) new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(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_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(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_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_error new_primRemInt(Pos(x0), Pos(Succ(x1))) 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_primRemInt(Neg(x0), Neg(Succ(x1))) ---------------------------------------- (86) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (87) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) (new_quot(y0, Pos(Zero), Neg(Succ(x0)), Neg(Succ(x0)), Pos(Zero), Neg(Succ(x0))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0))),new_quot(y0, Pos(Zero), Neg(Succ(x0)), Neg(Succ(x0)), Pos(Zero), Neg(Succ(x0))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0)))) (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) ---------------------------------------- (88) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Zero), Neg(Succ(x0)), Neg(Succ(x0)), Pos(Zero), Neg(Succ(x0))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (89) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (90) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (91) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) ---------------------------------------- (92) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (93) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (94) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (95) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (96) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (97) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (98) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (99) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (100) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (101) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (102) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (103) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (104) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (105) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (106) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (107) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (108) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (109) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) (new_quot(y0, Pos(Zero), Pos(Succ(x0)), Pos(Succ(x0)), Pos(Zero), Pos(Succ(x0))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0))),new_quot(y0, Pos(Zero), Pos(Succ(x0)), Pos(Succ(x0)), Pos(Zero), Pos(Succ(x0))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0)))) (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) ---------------------------------------- (110) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Zero), Pos(Succ(x0)), Pos(Succ(x0)), Pos(Zero), Pos(Succ(x0))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (111) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (112) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (113) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) ---------------------------------------- (114) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (115) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (116) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (117) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (118) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (119) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (120) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (121) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (122) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (123) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (124) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (125) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (126) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (127) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (128) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (129) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (130) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (131) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) (new_quot(y0, Neg(Zero), Pos(Succ(x0)), Pos(Succ(x0)), Neg(Zero), Pos(Succ(x0))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0))),new_quot(y0, Neg(Zero), Pos(Succ(x0)), Pos(Succ(x0)), Neg(Zero), Pos(Succ(x0))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0)))) (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) ---------------------------------------- (132) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Zero), Pos(Succ(x0)), Pos(Succ(x0)), Neg(Zero), Pos(Succ(x0))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (133) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (134) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (135) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) ---------------------------------------- (136) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (137) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (138) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (139) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (140) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (141) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (142) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (143) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (144) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (145) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (146) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (147) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (148) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (149) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (150) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (151) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (152) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (153) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) (new_quot(y0, Neg(Zero), Neg(Succ(x0)), Neg(Succ(x0)), Neg(Zero), Neg(Succ(x0))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0))),new_quot(y0, Neg(Zero), Neg(Succ(x0)), Neg(Succ(x0)), Neg(Zero), Neg(Succ(x0))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0)))) (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) ---------------------------------------- (154) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Zero), Neg(Succ(x0)), Neg(Succ(x0)), Neg(Zero), Neg(Succ(x0))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (155) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (156) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (157) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) ---------------------------------------- (158) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (159) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (160) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (161) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (162) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (163) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (164) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (165) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (166) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (167) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (168) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (169) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (170) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (171) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (172) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (173) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (174) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (175) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (176) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (177) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (178) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (179) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) ---------------------------------------- (180) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (181) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (182) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (183) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (184) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (185) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (186) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (187) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (188) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (189) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (190) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (191) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (192) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (193) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (194) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (195) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) ---------------------------------------- (196) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (197) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (198) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (199) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (200) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (201) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (202) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (203) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (204) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (205) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (206) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (207) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (208) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (209) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (210) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (211) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (212) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (213) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (214) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (215) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (216) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (217) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (218) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (219) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (220) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (221) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (222) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (223) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (224) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (225) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) ---------------------------------------- (226) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (227) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (228) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (229) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (230) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (231) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (232) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (233) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (234) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (235) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (236) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (237) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (238) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (239) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (240) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (241) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) ---------------------------------------- (242) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (243) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (244) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (245) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (246) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (247) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (248) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (249) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (250) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (251) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (252) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (253) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (254) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (255) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (256) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (257) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (258) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (259) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (260) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (261) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (262) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (263) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (264) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (265) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (266) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (267) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (268) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (269) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (270) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (271) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) ---------------------------------------- (272) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (273) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (274) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (275) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (276) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (277) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (278) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (279) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (280) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (281) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (282) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (283) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (284) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (285) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (286) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (287) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) ---------------------------------------- (288) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (289) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (290) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (291) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (292) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (293) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (294) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (295) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (296) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (297) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (298) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (299) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (300) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (301) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (302) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (303) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (304) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (305) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (306) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (307) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (308) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (309) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (310) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (311) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (312) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (313) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (314) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (315) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (316) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (317) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) ---------------------------------------- (318) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (319) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (320) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (321) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (322) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (323) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (324) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (325) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (326) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (327) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (328) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (329) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (330) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (331) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (332) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (333) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) ---------------------------------------- (334) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (335) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (336) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (337) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (338) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (339) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (340) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (341) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (342) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (343) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (344) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (345) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (346) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (347) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (348) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (349) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (350) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (351) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (352) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (353) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (354) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (355) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (356) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (357) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (358) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (359) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (360) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (361) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (362) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (363) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) ---------------------------------------- (364) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (365) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (366) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (367) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (368) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (369) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (370) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (371) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (372) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (373) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (374) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (375) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (376) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (377) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (378) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (379) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (380) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (381) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (382) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (383) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) ---------------------------------------- (384) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (385) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (386) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (387) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (388) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (389) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (390) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (391) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (392) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (393) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (394) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (395) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (396) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (397) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) ---------------------------------------- (398) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (399) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) ---------------------------------------- (400) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (401) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (402) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (403) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) ---------------------------------------- (404) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (405) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (406) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (407) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (408) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (409) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (410) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (411) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (412) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (413) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (414) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (415) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (416) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (417) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (418) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (419) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (420) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (421) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (422) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (423) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) ---------------------------------------- (424) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (425) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (426) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (427) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (428) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (429) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (430) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (431) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (432) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (433) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (434) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (435) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (436) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (437) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (438) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (439) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (440) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (441) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (442) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (443) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) ---------------------------------------- (444) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (445) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (446) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (447) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (448) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (449) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (450) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (451) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (452) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (453) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (454) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (455) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (456) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (457) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) ---------------------------------------- (458) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (459) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) ---------------------------------------- (460) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (461) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (462) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (463) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) ---------------------------------------- (464) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (465) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (466) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (467) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (468) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (469) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (470) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (471) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (472) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (473) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (474) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (475) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (476) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (477) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (478) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (479) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (480) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (481) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (482) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (483) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) ---------------------------------------- (484) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (485) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (486) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (487) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (488) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (489) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (490) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (491) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (492) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (493) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (494) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (495) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (496) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (497) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (498) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (499) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (500) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (501) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (502) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (503) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) ---------------------------------------- (504) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (505) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (506) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (507) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (508) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (509) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (510) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (511) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (512) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (513) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (514) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (515) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (516) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (517) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) ---------------------------------------- (518) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (519) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) ---------------------------------------- (520) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (521) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (522) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (523) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) ---------------------------------------- (524) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (525) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (526) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (527) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (528) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (529) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (530) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (531) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (532) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (533) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (534) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (535) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (536) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (537) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (538) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (539) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (540) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (541) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (542) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (543) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) ---------------------------------------- (544) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (545) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (546) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (547) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (548) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (549) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (550) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (551) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (552) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (553) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (554) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (555) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (556) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (557) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (558) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (559) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (560) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (561) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (562) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (563) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) ---------------------------------------- (564) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (565) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (566) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (567) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (568) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (569) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (570) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (571) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (572) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (573) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (574) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (575) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (576) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (577) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) ---------------------------------------- (578) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (579) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) ---------------------------------------- (580) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (581) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (582) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (583) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) ---------------------------------------- (584) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (585) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (586) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (587) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (588) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (589) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (590) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (591) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (592) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (593) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (594) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (595) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (596) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (597) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (598) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (599) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 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(new_primEqInt(x_1, x_2)) = x_1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primMinusNatS2(x_1, x_2)) = 0 POL(new_primModNatS01(x_1, x_2)) = 1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 1 POL(new_primModNatS1(x_1, x_2)) = x_2 POL(new_quot(x_1, x_2, x_3, x_4, x_5, x_6)) = 1 + x_2 POL(new_quot0(x_1, x_2, x_3, x_4)) = x_2 + x_3 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS1(Zero, vuz15500) -> Zero ---------------------------------------- (600) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (601) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) the following chains were created: *We consider the chain new_quot0(x3, False, x4, x5) -> new_quot(x3, x4, x5, x5, x4, x5), new_quot(x6, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Neg(Succ(Succ(x7))), Pos(Succ(Zero)), Neg(Succ(Succ(x7)))) -> new_quot0(x6, False, Neg(Succ(Succ(x7))), Pos(Succ(Zero))) which results in the following constraint: (1) (new_quot(x3, x4, x5, x5, x4, x5)=new_quot(x6, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Neg(Succ(Succ(x7))), Pos(Succ(Zero)), Neg(Succ(Succ(x7)))) ==> new_quot0(x3, False, x4, x5)_>=_new_quot(x3, x4, x5, x5, x4, x5)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x3, False, Pos(Succ(Zero)), Neg(Succ(Succ(x7))))_>=_new_quot(x3, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Neg(Succ(Succ(x7))), Pos(Succ(Zero)), Neg(Succ(Succ(x7))))) *We consider the chain new_quot0(x8, False, x9, x10) -> new_quot(x8, x9, x10, x10, x9, x10), new_quot(x11, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Succ(x12))), Pos(Succ(Zero)), Pos(Succ(Succ(x12)))) -> new_quot0(x11, False, Pos(Succ(Succ(x12))), Pos(Succ(Zero))) which results in the following constraint: (1) (new_quot(x8, x9, x10, x10, x9, x10)=new_quot(x11, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Succ(x12))), Pos(Succ(Zero)), Pos(Succ(Succ(x12)))) ==> new_quot0(x8, False, x9, x10)_>=_new_quot(x8, x9, x10, x10, x9, x10)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x8, False, Pos(Succ(Zero)), Pos(Succ(Succ(x12))))_>=_new_quot(x8, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Succ(x12))), Pos(Succ(Zero)), Pos(Succ(Succ(x12))))) *We consider the chain new_quot0(x13, False, x14, x15) -> new_quot(x13, x14, x15, x15, x14, x15), new_quot(x16, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Pos(Succ(Succ(x17))), Neg(Succ(Zero)), Pos(Succ(Succ(x17)))) -> new_quot0(x16, False, Pos(Succ(Succ(x17))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_quot(x13, x14, x15, x15, x14, x15)=new_quot(x16, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Pos(Succ(Succ(x17))), Neg(Succ(Zero)), Pos(Succ(Succ(x17)))) ==> new_quot0(x13, False, x14, x15)_>=_new_quot(x13, x14, x15, x15, x14, x15)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x13, False, Neg(Succ(Zero)), Pos(Succ(Succ(x17))))_>=_new_quot(x13, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Pos(Succ(Succ(x17))), Neg(Succ(Zero)), Pos(Succ(Succ(x17))))) *We consider the chain new_quot0(x18, False, x19, x20) -> new_quot(x18, x19, x20, x20, x19, x20), new_quot(x21, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Succ(x22))), Neg(Succ(Zero)), Neg(Succ(Succ(x22)))) -> new_quot0(x21, False, Neg(Succ(Succ(x22))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_quot(x18, x19, x20, x20, x19, x20)=new_quot(x21, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Succ(x22))), Neg(Succ(Zero)), Neg(Succ(Succ(x22)))) ==> new_quot0(x18, False, x19, x20)_>=_new_quot(x18, x19, x20, x20, x19, x20)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x18, False, Neg(Succ(Zero)), Neg(Succ(Succ(x22))))_>=_new_quot(x18, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Succ(x22))), Neg(Succ(Zero)), Neg(Succ(Succ(x22))))) *We consider the chain new_quot0(x23, False, x24, x25) -> new_quot(x23, x24, x25, x25, x24, x25), new_quot(x26, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27))))) -> new_quot0(x26, False, Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_quot(x23, x24, x25, x25, x24, x25)=new_quot(x26, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27))))) ==> new_quot0(x23, False, x24, x25)_>=_new_quot(x23, x24, x25, x25, x24, x25)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x23, False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))_>=_new_quot(x23, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))) *We consider the chain new_quot0(x28, False, x29, x30) -> new_quot(x28, x29, x30, x30, x29, x30), new_quot(x31, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32))))) -> new_quot0(x31, False, Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_quot(x28, x29, x30, x30, x29, x30)=new_quot(x31, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32))))) ==> new_quot0(x28, False, x29, x30)_>=_new_quot(x28, x29, x30, x30, x29, x30)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x28, False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))_>=_new_quot(x28, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))) *We consider the chain new_quot0(x33, False, x34, x35) -> new_quot(x33, x34, x35, x35, x34, x35), new_quot(x36, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37))))) -> new_quot0(x36, False, Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_quot(x33, x34, x35, x35, x34, x35)=new_quot(x36, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37))))) ==> new_quot0(x33, False, x34, x35)_>=_new_quot(x33, x34, x35, x35, x34, x35)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x33, False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))_>=_new_quot(x33, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))) *We consider the chain new_quot0(x38, False, x39, x40) -> new_quot(x38, x39, x40, x40, x39, x40), new_quot(x41, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42))))) -> new_quot0(x41, False, Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_quot(x38, x39, x40, x40, x39, x40)=new_quot(x41, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42))))) ==> new_quot0(x38, False, x39, x40)_>=_new_quot(x38, x39, x40, x40, x39, x40)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x38, False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))_>=_new_quot(x38, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))) *We consider the chain new_quot0(x43, False, x44, x45) -> new_quot(x43, x44, x45, x45, x44, x45), new_quot(x46, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48)))))) -> new_quot0(x46, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x47)), Succ(Succ(x48)), x47, x48)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(new_primModNatS02(Succ(Succ(x47)), Succ(Succ(x48)), x47, x48))) which results in the following constraint: (1) (new_quot(x43, x44, x45, x45, x44, x45)=new_quot(x46, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48)))))) ==> new_quot0(x43, False, x44, x45)_>=_new_quot(x43, x44, x45, x45, x44, x45)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x43, False, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))_>=_new_quot(x43, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))) *We consider the chain new_quot0(x49, False, x50, x51) -> new_quot(x49, x50, x51, x51, x50, x51), new_quot(x52, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53)))))) -> new_quot0(x52, False, Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x49, x50, x51, x51, x50, x51)=new_quot(x52, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53)))))) ==> new_quot0(x49, False, x50, x51)_>=_new_quot(x49, x50, x51, x51, x50, x51)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x49, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))_>=_new_quot(x49, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))) *We consider the chain new_quot0(x54, False, x55, x56) -> new_quot(x54, x55, x56, x56, x55, x56), new_quot(x57, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(x57, new_primEqInt(Pos(new_primModNatS1(Succ(x58), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x58), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x54, x55, x56, x56, x55, x56)=new_quot(x57, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot0(x54, False, x55, x56)_>=_new_quot(x54, x55, x56, x56, x55, x56)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x54, False, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x54, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))))) *We consider the chain new_quot0(x59, False, x60, x61) -> new_quot(x59, x60, x61, x61, x60, x61), new_quot(x62, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero)))) -> new_quot0(x62, new_primEqInt(Pos(new_primModNatS02(x63, Zero, x63, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x63, Zero, x63, Zero))) which results in the following constraint: (1) (new_quot(x59, x60, x61, x61, x60, x61)=new_quot(x62, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero)))) ==> new_quot0(x59, False, x60, x61)_>=_new_quot(x59, x60, x61, x61, x60, x61)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x59, False, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))))_>=_new_quot(x59, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))))) *We consider the chain new_quot0(x64, False, x65, x66) -> new_quot(x64, x65, x66, x66, x65, x66), new_quot(x67, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(x67, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: (1) (new_quot(x64, x65, x66, x66, x65, x66)=new_quot(x67, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) ==> new_quot0(x64, False, x65, x66)_>=_new_quot(x64, x65, x66, x66, x65, x66)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x64, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x64, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) *We consider the chain new_quot0(x68, False, x69, x70) -> new_quot(x68, x69, x70, x70, x69, x70), new_quot(x71, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73)))))) -> new_quot0(x71, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x72)), Succ(Succ(x73)), x72, x73)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(new_primModNatS02(Succ(Succ(x72)), Succ(Succ(x73)), x72, x73))) which results in the following constraint: (1) (new_quot(x68, x69, x70, x70, x69, x70)=new_quot(x71, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73)))))) ==> new_quot0(x68, False, x69, x70)_>=_new_quot(x68, x69, x70, x70, x69, x70)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x68, False, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))))_>=_new_quot(x68, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))))) *We consider the chain new_quot0(x74, False, x75, x76) -> new_quot(x74, x75, x76, x76, x75, x76), new_quot(x77, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78)))))) -> new_quot0(x77, False, Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x74, x75, x76, x76, x75, x76)=new_quot(x77, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78)))))) ==> new_quot0(x74, False, x75, x76)_>=_new_quot(x74, x75, x76, x76, x75, x76)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x74, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))))_>=_new_quot(x74, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))))) *We consider the chain new_quot0(x79, False, x80, x81) -> new_quot(x79, x80, x81, x81, x80, x81), new_quot(x82, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(x82, new_primEqInt(Pos(new_primModNatS1(Succ(x83), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x83), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x79, x80, x81, x81, x80, x81)=new_quot(x82, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot0(x79, False, x80, x81)_>=_new_quot(x79, x80, x81, x81, x80, x81)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x79, False, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x79, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))))) *We consider the chain new_quot0(x84, False, x85, x86) -> new_quot(x84, x85, x86, x86, x85, x86), new_quot(x87, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero)))) -> new_quot0(x87, new_primEqInt(Pos(new_primModNatS02(x88, Zero, x88, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x88, Zero, x88, Zero))) which results in the following constraint: (1) (new_quot(x84, x85, x86, x86, x85, x86)=new_quot(x87, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero)))) ==> new_quot0(x84, False, x85, x86)_>=_new_quot(x84, x85, x86, x86, x85, x86)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x84, False, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))))_>=_new_quot(x84, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))))) *We consider the chain new_quot0(x89, False, x90, x91) -> new_quot(x89, x90, x91, x91, x90, x91), new_quot(x92, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(x92, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: (1) (new_quot(x89, x90, x91, x91, x90, x91)=new_quot(x92, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) ==> new_quot0(x89, False, x90, x91)_>=_new_quot(x89, x90, x91, x91, x90, x91)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x89, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x89, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) *We consider the chain new_quot0(x93, False, x94, x95) -> new_quot(x93, x94, x95, x95, x94, x95), new_quot(x96, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98)))))) -> new_quot0(x96, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x97)), Succ(Succ(x98)), x97, x98)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(new_primModNatS02(Succ(Succ(x97)), Succ(Succ(x98)), x97, x98))) which results in the following constraint: (1) (new_quot(x93, x94, x95, x95, x94, x95)=new_quot(x96, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98)))))) ==> new_quot0(x93, False, x94, x95)_>=_new_quot(x93, x94, x95, x95, x94, x95)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x93, False, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))))_>=_new_quot(x93, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))))) *We consider the chain new_quot0(x99, False, x100, x101) -> new_quot(x99, x100, x101, x101, x100, x101), new_quot(x102, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103)))))) -> new_quot0(x102, False, Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x99, x100, x101, x101, x100, x101)=new_quot(x102, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103)))))) ==> new_quot0(x99, False, x100, x101)_>=_new_quot(x99, x100, x101, x101, x100, x101)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x99, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))_>=_new_quot(x99, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))) *We consider the chain new_quot0(x104, False, x105, x106) -> new_quot(x104, x105, x106, x106, x105, x106), new_quot(x107, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(x107, new_primEqInt(Neg(new_primModNatS1(Succ(x108), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x108), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x104, x105, x106, x106, x105, x106)=new_quot(x107, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot0(x104, False, x105, x106)_>=_new_quot(x104, x105, x106, x106, x105, x106)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x104, False, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x104, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))))) *We consider the chain new_quot0(x109, False, x110, x111) -> new_quot(x109, x110, x111, x111, x110, x111), new_quot(x112, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero)))) -> new_quot0(x112, new_primEqInt(Neg(new_primModNatS02(x113, Zero, x113, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x113, Zero, x113, Zero))) which results in the following constraint: (1) (new_quot(x109, x110, x111, x111, x110, x111)=new_quot(x112, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero)))) ==> new_quot0(x109, False, x110, x111)_>=_new_quot(x109, x110, x111, x111, x110, x111)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x109, False, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))))_>=_new_quot(x109, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))))) *We consider the chain new_quot0(x114, False, x115, x116) -> new_quot(x114, x115, x116, x116, x115, x116), new_quot(x117, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(x117, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_quot(x114, x115, x116, x116, x115, x116)=new_quot(x117, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) ==> new_quot0(x114, False, x115, x116)_>=_new_quot(x114, x115, x116, x116, x115, x116)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x114, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x114, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) *We consider the chain new_quot0(x118, False, x119, x120) -> new_quot(x118, x119, x120, x120, x119, x120), new_quot(x121, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123)))))) -> new_quot0(x121, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x122)), Succ(Succ(x123)), x122, x123)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(new_primModNatS02(Succ(Succ(x122)), Succ(Succ(x123)), x122, x123))) which results in the following constraint: (1) (new_quot(x118, x119, x120, x120, x119, x120)=new_quot(x121, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123)))))) ==> new_quot0(x118, False, x119, x120)_>=_new_quot(x118, x119, x120, x120, x119, x120)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x118, False, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))))_>=_new_quot(x118, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))))) *We consider the chain new_quot0(x124, False, x125, x126) -> new_quot(x124, x125, x126, x126, x125, x126), new_quot(x127, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128)))))) -> new_quot0(x127, False, Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x124, x125, x126, x126, x125, x126)=new_quot(x127, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128)))))) ==> new_quot0(x124, False, x125, x126)_>=_new_quot(x124, x125, x126, x126, x125, x126)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x124, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))))_>=_new_quot(x124, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))))) *We consider the chain new_quot0(x129, False, x130, x131) -> new_quot(x129, x130, x131, x131, x130, x131), new_quot(x132, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(x132, new_primEqInt(Neg(new_primModNatS1(Succ(x133), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x133), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x129, x130, x131, x131, x130, x131)=new_quot(x132, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot0(x129, False, x130, x131)_>=_new_quot(x129, x130, x131, x131, x130, x131)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x129, False, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x129, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))))) *We consider the chain new_quot0(x134, False, x135, x136) -> new_quot(x134, x135, x136, x136, x135, x136), new_quot(x137, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero)))) -> new_quot0(x137, new_primEqInt(Neg(new_primModNatS02(x138, Zero, x138, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x138, Zero, x138, Zero))) which results in the following constraint: (1) (new_quot(x134, x135, x136, x136, x135, x136)=new_quot(x137, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero)))) ==> new_quot0(x134, False, x135, x136)_>=_new_quot(x134, x135, x136, x136, x135, x136)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x134, False, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))))_>=_new_quot(x134, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))))) *We consider the chain new_quot0(x139, False, x140, x141) -> new_quot(x139, x140, x141, x141, x140, x141), new_quot(x142, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(x142, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_quot(x139, x140, x141, x141, x140, x141)=new_quot(x142, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) ==> new_quot0(x139, False, x140, x141)_>=_new_quot(x139, x140, x141, x141, x140, x141)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x139, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x139, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) For Pair new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Neg(Succ(Succ(x144))), Pos(Succ(Zero)), Neg(Succ(Succ(x144)))) -> new_quot0(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero))), new_quot0(x145, False, x146, x147) -> new_quot(x145, x146, x147, x147, x146, x147) which results in the following constraint: (1) (new_quot0(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))=new_quot0(x145, False, x146, x147) ==> new_quot(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Neg(Succ(Succ(x144))), Pos(Succ(Zero)), Neg(Succ(Succ(x144))))_>=_new_quot0(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Neg(Succ(Succ(x144))), Pos(Succ(Zero)), Neg(Succ(Succ(x144))))_>=_new_quot0(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))) For Pair new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Pos(Succ(Succ(x205))), Pos(Succ(Zero)), Pos(Succ(Succ(x205)))) -> new_quot0(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero))), new_quot0(x206, False, x207, x208) -> new_quot(x206, x207, x208, x208, x207, x208) which results in the following constraint: (1) (new_quot0(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))=new_quot0(x206, False, x207, x208) ==> new_quot(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Pos(Succ(Succ(x205))), Pos(Succ(Zero)), Pos(Succ(Succ(x205))))_>=_new_quot0(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Pos(Succ(Succ(x205))), Pos(Succ(Zero)), Pos(Succ(Succ(x205))))_>=_new_quot0(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))) For Pair new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Pos(Succ(Succ(x266))), Neg(Succ(Zero)), Pos(Succ(Succ(x266)))) -> new_quot0(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero))), new_quot0(x267, False, x268, x269) -> new_quot(x267, x268, x269, x269, x268, x269) which results in the following constraint: (1) (new_quot0(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))=new_quot0(x267, False, x268, x269) ==> new_quot(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Pos(Succ(Succ(x266))), Neg(Succ(Zero)), Pos(Succ(Succ(x266))))_>=_new_quot0(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Pos(Succ(Succ(x266))), Neg(Succ(Zero)), Pos(Succ(Succ(x266))))_>=_new_quot0(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))) For Pair new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Neg(Succ(Succ(x327))), Neg(Succ(Zero)), Neg(Succ(Succ(x327)))) -> new_quot0(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero))), new_quot0(x328, False, x329, x330) -> new_quot(x328, x329, x330, x330, x329, x330) which results in the following constraint: (1) (new_quot0(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))=new_quot0(x328, False, x329, x330) ==> new_quot(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Neg(Succ(Succ(x327))), Neg(Succ(Zero)), Neg(Succ(Succ(x327))))_>=_new_quot0(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Neg(Succ(Succ(x327))), Neg(Succ(Zero)), Neg(Succ(Succ(x327))))_>=_new_quot0(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))) For Pair new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_quot(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388))))) -> new_quot0(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero)))), new_quot0(x389, False, x390, x391) -> new_quot(x389, x390, x391, x391, x390, x391) which results in the following constraint: (1) (new_quot0(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))=new_quot0(x389, False, x390, x391) ==> new_quot(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))))_>=_new_quot0(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))))_>=_new_quot0(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))) For Pair new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_quot(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449))))) -> new_quot0(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero)))), new_quot0(x450, False, x451, x452) -> new_quot(x450, x451, x452, x452, x451, x452) which results in the following constraint: (1) (new_quot0(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))=new_quot0(x450, False, x451, x452) ==> new_quot(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))))_>=_new_quot0(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))))_>=_new_quot0(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))) For Pair new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_quot(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510))))) -> new_quot0(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero)))), new_quot0(x511, False, x512, x513) -> new_quot(x511, x512, x513, x513, x512, x513) which results in the following constraint: (1) (new_quot0(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))=new_quot0(x511, False, x512, x513) ==> new_quot(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))))_>=_new_quot0(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))))_>=_new_quot0(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))) For Pair new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_quot(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571))))) -> new_quot0(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero)))), new_quot0(x572, False, x573, x574) -> new_quot(x572, x573, x574, x574, x573, x574) which results in the following constraint: (1) (new_quot0(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))=new_quot0(x572, False, x573, x574) ==> new_quot(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))))_>=_new_quot0(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))))_>=_new_quot0(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_quot(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633)))))) -> new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))), new_quot0(x634, False, x635, x636) -> new_quot(x634, x635, x636, x636, x635, x636) which results in the following constraint: (1) (new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))=new_quot0(x634, False, x635, x636) ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))=x1851 & Pos(Zero)=x1852 & new_primEqInt(x1851, x1852)=False ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1851, x1852)=False which results in the following new constraints: (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))=Neg(Succ(x1854)) & Pos(Zero)=Pos(x1853) ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) (4) (False=False & Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))=Pos(Succ(x1855)) & Pos(Zero)=Pos(Zero) ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) 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(x632))=x1856 & Succ(Succ(x633))=x1857 & new_primModNatS02(x1856, x1857, x632, x633)=Succ(x1855) ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1856, x1857, x632, x633)=Succ(x1855) which results in the following new constraints: (6) (new_primModNatS01(x1860, x1859)=Succ(x1855) & Succ(Succ(Succ(x1858)))=x1860 & Succ(Succ(Zero))=x1859 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)))) (7) (new_primModNatS02(x1864, x1863, x1862, x1861)=Succ(x1855) & Succ(Succ(Succ(x1862)))=x1864 & Succ(Succ(Succ(x1861)))=x1863 & (\/x1865,x1866:new_primModNatS02(x1864, x1863, x1862, x1861)=Succ(x1865) & Succ(Succ(x1862))=x1864 & Succ(Succ(x1861))=x1863 ==> new_quot(x1866, Pos(Succ(Succ(Succ(Succ(x1862))))), Neg(Succ(Succ(Succ(Succ(x1861))))), Neg(Succ(Succ(Succ(Succ(x1861))))), Pos(Succ(Succ(Succ(Succ(x1862))))), Neg(Succ(Succ(Succ(Succ(x1861))))))_>=_new_quot0(x1866, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x1862)), Succ(Succ(x1861)), x1862, x1861)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1861))))), Pos(new_primModNatS02(Succ(Succ(x1862)), Succ(Succ(x1861)), x1862, x1861)))) ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1862)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1862)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1862))), Succ(Succ(Succ(x1861))), Succ(x1862), Succ(x1861))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1862))), Succ(Succ(Succ(x1861))), Succ(x1862), Succ(x1861))))) (8) (new_primModNatS01(x1868, x1867)=Succ(x1855) & Succ(Succ(Zero))=x1868 & Succ(Succ(Zero))=x1867 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (9) (Succ(Succ(x1871))=Succ(x1855) & Succ(Succ(Zero))=x1871 & Succ(Succ(Succ(x1869)))=x1870 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1869))), Zero, Succ(x1869))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1869))), Zero, Succ(x1869))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1860, x1859)=Succ(x1855) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x1873), Succ(x1872)), Succ(x1872))=Succ(x1855) & Succ(Succ(Succ(x1858)))=x1873 & Succ(Succ(Zero))=x1872 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x1864, x1863, x1862, x1861)=Succ(x1855) & Succ(Succ(Succ(x1862)))=x1864 & Succ(Succ(Succ(x1861)))=x1863 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1862)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1862)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1862))), Succ(Succ(Succ(x1861))), Succ(x1862), Succ(x1861))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1862))), Succ(Succ(Succ(x1861))), Succ(x1862), Succ(x1861))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1868, x1867)=Succ(x1855) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1893), Succ(x1892)), Succ(x1892))=Succ(x1855) & Succ(Succ(Zero))=x1893 & Succ(Succ(Zero))=x1892 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1869))), Zero, Succ(x1869))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1869))), Zero, Succ(x1869))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1864, x1863, x1862, x1861)=Succ(x1855) which results in the following new constraints: (15) (new_primModNatS01(x1880, x1879)=Succ(x1855) & Succ(Succ(Succ(Succ(x1878))))=x1880 & Succ(Succ(Succ(Zero)))=x1879 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1878)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1878)), Succ(Zero))))) (16) (new_primModNatS02(x1884, x1883, x1882, x1881)=Succ(x1855) & Succ(Succ(Succ(Succ(x1882))))=x1884 & Succ(Succ(Succ(Succ(x1881))))=x1883 & (\/x1885,x1886:new_primModNatS02(x1884, x1883, x1882, x1881)=Succ(x1885) & Succ(Succ(Succ(x1882)))=x1884 & Succ(Succ(Succ(x1881)))=x1883 ==> new_quot(x1886, Pos(Succ(Succ(Succ(Succ(Succ(x1882)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1881)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1881)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1882)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1881)))))))_>=_new_quot0(x1886, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1882))), Succ(Succ(Succ(x1881))), Succ(x1882), Succ(x1881))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x1881)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1882))), Succ(Succ(Succ(x1881))), Succ(x1882), Succ(x1881))))) ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1882)))), Succ(Succ(Succ(Succ(x1881)))), Succ(Succ(x1882)), Succ(Succ(x1881)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1882)))), Succ(Succ(Succ(Succ(x1881)))), Succ(Succ(x1882)), Succ(Succ(x1881)))))) (17) (new_primModNatS01(x1888, x1887)=Succ(x1855) & Succ(Succ(Succ(Zero)))=x1888 & Succ(Succ(Succ(Zero)))=x1887 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (18) (Succ(Succ(x1891))=Succ(x1855) & Succ(Succ(Succ(Zero)))=x1891 & Succ(Succ(Succ(Succ(x1889))))=x1890 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1889)))), Succ(Zero), Succ(Succ(x1889)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1889)))), Succ(Zero), Succ(Succ(x1889)))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1878)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1878)), Succ(Zero))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1882)))), Succ(Succ(Succ(Succ(x1881)))), Succ(Succ(x1882)), Succ(Succ(x1881)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1882)))), Succ(Succ(Succ(Succ(x1881)))), Succ(Succ(x1882)), Succ(Succ(x1881)))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1889)))), Succ(Zero), Succ(Succ(x1889)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1889)))), Succ(Zero), Succ(Succ(x1889)))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722)))))) -> new_quot0(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero))))), new_quot0(x723, False, x724, x725) -> new_quot(x723, x724, x725, x725, x724, x725) which results in the following constraint: (1) (new_quot0(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))=new_quot0(x723, False, x724, x725) ==> new_quot(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))))_>=_new_quot0(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))))_>=_new_quot0(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), new_quot0(x784, False, x785, x786) -> new_quot(x784, x785, x786, x786, x785, x786) which results in the following constraint: (1) (new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))=new_quot0(x784, False, x785, x786) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))=x1898 & Pos(Zero)=x1899 & new_primEqInt(x1898, x1899)=False ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1898, x1899)=False which results in the following new constraints: (3) (False=False & Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))=Neg(Succ(x1901)) & Pos(Zero)=Pos(x1900) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) (4) (False=False & Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))=Pos(Succ(x1902)) & Pos(Zero)=Pos(Zero) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 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(x783)=x1903 & Succ(Succ(Zero))=x1904 & new_primModNatS1(x1903, x1904)=Succ(x1902) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1903, x1904)=Succ(x1902) which results in the following new constraints: (6) (Succ(Zero)=Succ(x1902) & Succ(x783)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1905) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) (7) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x1902) & Succ(x783)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) (8) (new_primModNatS1(new_primMinusNatS0(x1907), Zero)=Succ(x1902) & Succ(x783)=Succ(Succ(x1907)) & Succ(Succ(Zero))=Zero ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) (9) (new_primModNatS02(x1909, x1908, x1909, x1908)=Succ(x1902) & Succ(x783)=Succ(Succ(x1909)) & Succ(Succ(Zero))=Succ(x1908) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_quot(x782, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) We solved constraint (7) using rules (I), (II).We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x1909=x1910 & x1908=x1911 & new_primModNatS02(x1909, x1908, x1910, x1911)=Succ(x1902) & Succ(Zero)=x1908 ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1909)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1909)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x1909)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1909)), Succ(Succ(Zero)))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1909, x1908, x1910, x1911)=Succ(x1902) which results in the following new constraints: (12) (new_primModNatS01(x1914, x1913)=Succ(x1902) & x1914=Succ(x1912) & x1913=Zero & Succ(Zero)=x1913 ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1914)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1914)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x1914)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1914)), Succ(Succ(Zero)))))) (13) (new_primModNatS02(x1918, x1917, x1916, x1915)=Succ(x1902) & x1918=Succ(x1916) & x1917=Succ(x1915) & Succ(Zero)=x1917 & (\/x1919,x1920:new_primModNatS02(x1918, x1917, x1916, x1915)=Succ(x1919) & x1918=x1916 & x1917=x1915 & Succ(Zero)=x1917 ==> new_quot(x1920, Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1920, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x1918)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1918)), Succ(Succ(Zero)))))) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x1918)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1918)), Succ(Succ(Zero)))))) (14) (new_primModNatS01(x1922, x1921)=Succ(x1902) & x1922=Zero & x1921=Zero & Succ(Zero)=x1921 ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1922)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1922)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x1922)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1922)), Succ(Succ(Zero)))))) (15) (Succ(Succ(x1925))=Succ(x1902) & x1925=Zero & x1924=Succ(x1923) & Succ(Zero)=x1924 ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1925)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1925)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x1925)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1925)), Succ(Succ(Zero)))))) We solved constraint (12) using rules (I), (II), (III).We simplified constraint (13) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1916))))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1916))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x1916))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1916))), Succ(Succ(Zero)))))) We solved constraint (14) using rules (I), (II), (III).We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (17) (new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_quot(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero)))) -> new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero))), new_quot0(x845, False, x846, x847) -> new_quot(x845, x846, x847, x847, x846, x847) which results in the following constraint: (1) (new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))=new_quot0(x845, False, x846, x847) ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(x844, Zero, x844, Zero))=x1928 & Pos(Zero)=x1929 & new_primEqInt(x1928, x1929)=False ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1928, x1929)=False which results in the following new constraints: (3) (False=False & Pos(new_primModNatS02(x844, Zero, x844, Zero))=Neg(Succ(x1931)) & Pos(Zero)=Pos(x1930) ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) (4) (False=False & Pos(new_primModNatS02(x844, Zero, x844, Zero))=Pos(Succ(x1932)) & Pos(Zero)=Pos(Zero) ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) 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) (Zero=x1933 & x844=x1934 & Zero=x1935 & new_primModNatS02(x844, x1933, x1934, x1935)=Succ(x1932) ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x844, x1933, x1934, x1935)=Succ(x1932) which results in the following new constraints: (6) (new_primModNatS01(x1938, x1937)=Succ(x1932) & Zero=x1937 & x1938=Succ(x1936) & Zero=Zero ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x1938))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1938))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x1938, Zero, x1938, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1938, Zero, x1938, Zero)))) (7) (new_primModNatS02(x1942, x1941, x1940, x1939)=Succ(x1932) & Zero=x1941 & x1942=Succ(x1940) & Zero=Succ(x1939) & (\/x1943,x1944:new_primModNatS02(x1942, x1941, x1940, x1939)=Succ(x1943) & Zero=x1941 & x1942=x1940 & Zero=x1939 ==> new_quot(x1944, Pos(Succ(Succ(Succ(Succ(x1942))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1942))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1944, new_primEqInt(Pos(new_primModNatS02(x1942, Zero, x1942, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1942, Zero, x1942, Zero)))) ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x1942))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1942))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x1942, Zero, x1942, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1942, Zero, x1942, Zero)))) (8) (new_primModNatS01(x1946, x1945)=Succ(x1932) & Zero=x1945 & x1946=Zero & Zero=Zero ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x1946))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1946))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x1946, Zero, x1946, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1946, Zero, x1946, Zero)))) (9) (Succ(Succ(x1949))=Succ(x1932) & Zero=x1948 & x1949=Zero & Zero=Succ(x1947) ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x1949))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1949))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x1949, Zero, x1949, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1949, Zero, x1949, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (Succ(x1936)=x1950 & new_primModNatS01(x1950, x1937)=Succ(x1932) & Zero=x1937 ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)))) We solved constraint (7) using rules (I), (II).We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (Zero=x1957 & new_primModNatS01(x1957, x1945)=Succ(x1932) & Zero=x1945 ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1950, x1937)=Succ(x1932) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1952), Succ(x1951)), Succ(x1951))=Succ(x1932) & Succ(x1936)=x1952 & Zero=x1951 ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_quot(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1957, x1945)=Succ(x1932) which results in the following new constraint: (14) (new_primModNatS1(new_primMinusNatS2(Succ(x1959), Succ(x1958)), Succ(x1958))=Succ(x1932) & Zero=x1959 & Zero=x1958 ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: (15) (new_quot(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), new_quot0(x905, False, x906, x907) -> new_quot(x905, x906, x907, x907, x906, x907) which results in the following constraint: (1) (new_quot0(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_quot0(x905, False, x906, x907) ==> new_quot(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_quot(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938)))))) -> new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))), new_quot0(x939, False, x940, x941) -> new_quot(x939, x940, x941, x941, x940, x941) which results in the following constraint: (1) (new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))=new_quot0(x939, False, x940, x941) ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))=x1964 & Pos(Zero)=x1965 & new_primEqInt(x1964, x1965)=False ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x1964, x1965)=False which results in the following new constraints: (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))=Neg(Succ(x1967)) & Pos(Zero)=Pos(x1966) ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) (4) (False=False & Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))=Pos(Succ(x1968)) & Pos(Zero)=Pos(Zero) ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) 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(x937))=x1969 & Succ(Succ(x938))=x1970 & new_primModNatS02(x1969, x1970, x937, x938)=Succ(x1968) ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1969, x1970, x937, x938)=Succ(x1968) which results in the following new constraints: (6) (new_primModNatS01(x1973, x1972)=Succ(x1968) & Succ(Succ(Succ(x1971)))=x1973 & Succ(Succ(Zero))=x1972 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)))) (7) (new_primModNatS02(x1977, x1976, x1975, x1974)=Succ(x1968) & Succ(Succ(Succ(x1975)))=x1977 & Succ(Succ(Succ(x1974)))=x1976 & (\/x1978,x1979:new_primModNatS02(x1977, x1976, x1975, x1974)=Succ(x1978) & Succ(Succ(x1975))=x1977 & Succ(Succ(x1974))=x1976 ==> new_quot(x1979, Pos(Succ(Succ(Succ(Succ(x1975))))), Pos(Succ(Succ(Succ(Succ(x1974))))), Pos(Succ(Succ(Succ(Succ(x1974))))), Pos(Succ(Succ(Succ(Succ(x1975))))), Pos(Succ(Succ(Succ(Succ(x1974))))))_>=_new_quot0(x1979, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x1975)), Succ(Succ(x1974)), x1975, x1974)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1974))))), Pos(new_primModNatS02(Succ(Succ(x1975)), Succ(Succ(x1974)), x1975, x1974)))) ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1975)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1975)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1975))), Succ(Succ(Succ(x1974))), Succ(x1975), Succ(x1974))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1975))), Succ(Succ(Succ(x1974))), Succ(x1975), Succ(x1974))))) (8) (new_primModNatS01(x1981, x1980)=Succ(x1968) & Succ(Succ(Zero))=x1981 & Succ(Succ(Zero))=x1980 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (9) (Succ(Succ(x1984))=Succ(x1968) & Succ(Succ(Zero))=x1984 & Succ(Succ(Succ(x1982)))=x1983 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1982))), Zero, Succ(x1982))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1982))), Zero, Succ(x1982))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1973, x1972)=Succ(x1968) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x1986), Succ(x1985)), Succ(x1985))=Succ(x1968) & Succ(Succ(Succ(x1971)))=x1986 & Succ(Succ(Zero))=x1985 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x1977, x1976, x1975, x1974)=Succ(x1968) & Succ(Succ(Succ(x1975)))=x1977 & Succ(Succ(Succ(x1974)))=x1976 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1975)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1975)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1975))), Succ(Succ(Succ(x1974))), Succ(x1975), Succ(x1974))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1975))), Succ(Succ(Succ(x1974))), Succ(x1975), Succ(x1974))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1981, x1980)=Succ(x1968) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2006), Succ(x2005)), Succ(x2005))=Succ(x1968) & Succ(Succ(Zero))=x2006 & Succ(Succ(Zero))=x2005 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1982))), Zero, Succ(x1982))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1982))), Zero, Succ(x1982))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1977, x1976, x1975, x1974)=Succ(x1968) which results in the following new constraints: (15) (new_primModNatS01(x1993, x1992)=Succ(x1968) & Succ(Succ(Succ(Succ(x1991))))=x1993 & Succ(Succ(Succ(Zero)))=x1992 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))))) (16) (new_primModNatS02(x1997, x1996, x1995, x1994)=Succ(x1968) & Succ(Succ(Succ(Succ(x1995))))=x1997 & Succ(Succ(Succ(Succ(x1994))))=x1996 & (\/x1998,x1999:new_primModNatS02(x1997, x1996, x1995, x1994)=Succ(x1998) & Succ(Succ(Succ(x1995)))=x1997 & Succ(Succ(Succ(x1994)))=x1996 ==> new_quot(x1999, Pos(Succ(Succ(Succ(Succ(Succ(x1995)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1994)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1994)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1995)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1994)))))))_>=_new_quot0(x1999, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1995))), Succ(Succ(Succ(x1994))), Succ(x1995), Succ(x1994))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1994)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1995))), Succ(Succ(Succ(x1994))), Succ(x1995), Succ(x1994))))) ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1995)))), Succ(Succ(Succ(Succ(x1994)))), Succ(Succ(x1995)), Succ(Succ(x1994)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1995)))), Succ(Succ(Succ(Succ(x1994)))), Succ(Succ(x1995)), Succ(Succ(x1994)))))) (17) (new_primModNatS01(x2001, x2000)=Succ(x1968) & Succ(Succ(Succ(Zero)))=x2001 & Succ(Succ(Succ(Zero)))=x2000 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (18) (Succ(Succ(x2004))=Succ(x1968) & Succ(Succ(Succ(Zero)))=x2004 & Succ(Succ(Succ(Succ(x2002))))=x2003 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2002)))), Succ(Zero), Succ(Succ(x2002)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2002)))), Succ(Zero), Succ(Succ(x2002)))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1995)))), Succ(Succ(Succ(Succ(x1994)))), Succ(Succ(x1995)), Succ(Succ(x1994)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1995)))), Succ(Succ(Succ(Succ(x1994)))), Succ(Succ(x1995)), Succ(Succ(x1994)))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2002)))), Succ(Zero), Succ(Succ(x2002)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2002)))), Succ(Zero), Succ(Succ(x2002)))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027)))))) -> new_quot0(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero))))), new_quot0(x1028, False, x1029, x1030) -> new_quot(x1028, x1029, x1030, x1030, x1029, x1030) which results in the following constraint: (1) (new_quot0(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))=new_quot0(x1028, False, x1029, x1030) ==> new_quot(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))))_>=_new_quot0(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))))_>=_new_quot0(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), new_quot0(x1089, False, x1090, x1091) -> new_quot(x1089, x1090, x1091, x1091, x1090, x1091) which results in the following constraint: (1) (new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))=new_quot0(x1089, False, x1090, x1091) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))=x2011 & Pos(Zero)=x2012 & new_primEqInt(x2011, x2012)=False ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2011, x2012)=False which results in the following new constraints: (3) (False=False & Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))=Neg(Succ(x2014)) & Pos(Zero)=Pos(x2013) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) (4) (False=False & Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))=Pos(Succ(x2015)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 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(x1088)=x2016 & Succ(Succ(Zero))=x2017 & new_primModNatS1(x2016, x2017)=Succ(x2015) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x2016, x2017)=Succ(x2015) which results in the following new constraints: (6) (Succ(Zero)=Succ(x2015) & Succ(x1088)=Succ(Zero) & Succ(Succ(Zero))=Succ(x2018) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) (7) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x2015) & Succ(x1088)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) (8) (new_primModNatS1(new_primMinusNatS0(x2020), Zero)=Succ(x2015) & Succ(x1088)=Succ(Succ(x2020)) & Succ(Succ(Zero))=Zero ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) (9) (new_primModNatS02(x2022, x2021, x2022, x2021)=Succ(x2015) & Succ(x1088)=Succ(Succ(x2022)) & Succ(Succ(Zero))=Succ(x2021) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) We solved constraint (7) using rules (I), (II).We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x2022=x2023 & x2021=x2024 & new_primModNatS02(x2022, x2021, x2023, x2024)=Succ(x2015) & Succ(Zero)=x2021 ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2022)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2022)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x2022)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2022)), Succ(Succ(Zero)))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2022, x2021, x2023, x2024)=Succ(x2015) which results in the following new constraints: (12) (new_primModNatS01(x2027, x2026)=Succ(x2015) & x2027=Succ(x2025) & x2026=Zero & Succ(Zero)=x2026 ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2027)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2027)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x2027)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2027)), Succ(Succ(Zero)))))) (13) (new_primModNatS02(x2031, x2030, x2029, x2028)=Succ(x2015) & x2031=Succ(x2029) & x2030=Succ(x2028) & Succ(Zero)=x2030 & (\/x2032,x2033:new_primModNatS02(x2031, x2030, x2029, x2028)=Succ(x2032) & x2031=x2029 & x2030=x2028 & Succ(Zero)=x2030 ==> new_quot(x2033, Pos(Succ(Succ(Succ(Succ(Succ(x2031)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2031)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x2033, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x2031)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2031)), Succ(Succ(Zero)))))) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2031)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2031)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x2031)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2031)), Succ(Succ(Zero)))))) (14) (new_primModNatS01(x2035, x2034)=Succ(x2015) & x2035=Zero & x2034=Zero & Succ(Zero)=x2034 ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2035)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2035)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x2035)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2035)), Succ(Succ(Zero)))))) (15) (Succ(Succ(x2038))=Succ(x2015) & x2038=Zero & x2037=Succ(x2036) & Succ(Zero)=x2037 ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2038)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2038)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(x2038)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2038)), Succ(Succ(Zero)))))) We solved constraint (12) using rules (I), (II), (III).We simplified constraint (13) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2029))))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2029))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x2029))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x2029))), Succ(Succ(Zero)))))) We solved constraint (14) using rules (I), (II), (III).We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (17) (new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero)))) -> new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero))), new_quot0(x1150, False, x1151, x1152) -> new_quot(x1150, x1151, x1152, x1152, x1151, x1152) which results in the following constraint: (1) (new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))=new_quot0(x1150, False, x1151, x1152) ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(x1149, Zero, x1149, Zero))=x2041 & Pos(Zero)=x2042 & new_primEqInt(x2041, x2042)=False ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2041, x2042)=False which results in the following new constraints: (3) (False=False & Pos(new_primModNatS02(x1149, Zero, x1149, Zero))=Neg(Succ(x2044)) & Pos(Zero)=Pos(x2043) ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) (4) (False=False & Pos(new_primModNatS02(x1149, Zero, x1149, Zero))=Pos(Succ(x2045)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) 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) (Zero=x2046 & x1149=x2047 & Zero=x2048 & new_primModNatS02(x1149, x2046, x2047, x2048)=Succ(x2045) ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1149, x2046, x2047, x2048)=Succ(x2045) which results in the following new constraints: (6) (new_primModNatS01(x2051, x2050)=Succ(x2045) & Zero=x2050 & x2051=Succ(x2049) & Zero=Zero ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x2051))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2051))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x2051, Zero, x2051, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2051, Zero, x2051, Zero)))) (7) (new_primModNatS02(x2055, x2054, x2053, x2052)=Succ(x2045) & Zero=x2054 & x2055=Succ(x2053) & Zero=Succ(x2052) & (\/x2056,x2057:new_primModNatS02(x2055, x2054, x2053, x2052)=Succ(x2056) & Zero=x2054 & x2055=x2053 & Zero=x2052 ==> new_quot(x2057, Pos(Succ(Succ(Succ(Succ(x2055))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2055))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x2057, new_primEqInt(Pos(new_primModNatS02(x2055, Zero, x2055, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2055, Zero, x2055, Zero)))) ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x2055))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2055))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x2055, Zero, x2055, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2055, Zero, x2055, Zero)))) (8) (new_primModNatS01(x2059, x2058)=Succ(x2045) & Zero=x2058 & x2059=Zero & Zero=Zero ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x2059))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2059))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x2059, Zero, x2059, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2059, Zero, x2059, Zero)))) (9) (Succ(Succ(x2062))=Succ(x2045) & Zero=x2061 & x2062=Zero & Zero=Succ(x2060) ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x2062))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2062))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x2062, Zero, x2062, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2062, Zero, x2062, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (Succ(x2049)=x2063 & new_primModNatS01(x2063, x2050)=Succ(x2045) & Zero=x2050 ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)))) We solved constraint (7) using rules (I), (II).We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (Zero=x2070 & new_primModNatS01(x2070, x2058)=Succ(x2045) & Zero=x2058 ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2063, x2050)=Succ(x2045) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2065), Succ(x2064)), Succ(x2064))=Succ(x2045) & Succ(x2049)=x2065 & Zero=x2064 ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2070, x2058)=Succ(x2045) which results in the following new constraint: (14) (new_primModNatS1(new_primMinusNatS2(Succ(x2072), Succ(x2071)), Succ(x2071))=Succ(x2045) & Zero=x2072 & Zero=x2071 ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: (15) (new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), new_quot0(x1210, False, x1211, x1212) -> new_quot(x1210, x1211, x1212, x1212, x1211, x1212) which results in the following constraint: (1) (new_quot0(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_quot0(x1210, False, x1211, x1212) ==> new_quot(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_quot(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243)))))) -> new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))), new_quot0(x1244, False, x1245, x1246) -> new_quot(x1244, x1245, x1246, x1246, x1245, x1246) which results in the following constraint: (1) (new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))=new_quot0(x1244, False, x1245, x1246) ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))=x2077 & Pos(Zero)=x2078 & new_primEqInt(x2077, x2078)=False ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2077, x2078)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))=Neg(Succ(x2080)) & Pos(Zero)=Pos(x2079) ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) (4) (False=False & Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))=Pos(Succ(x2081)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: (5) (Succ(Succ(x1242))=x2082 & Succ(Succ(x1243))=x2083 & new_primModNatS02(x2082, x2083, x1242, x1243)=Succ(x2080) ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2082, x2083, x1242, x1243)=Succ(x2080) which results in the following new constraints: (6) (new_primModNatS01(x2086, x2085)=Succ(x2080) & Succ(Succ(Succ(x2084)))=x2086 & Succ(Succ(Zero))=x2085 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)))) (7) (new_primModNatS02(x2090, x2089, x2088, x2087)=Succ(x2080) & Succ(Succ(Succ(x2088)))=x2090 & Succ(Succ(Succ(x2087)))=x2089 & (\/x2091,x2092:new_primModNatS02(x2090, x2089, x2088, x2087)=Succ(x2091) & Succ(Succ(x2088))=x2090 & Succ(Succ(x2087))=x2089 ==> new_quot(x2092, Neg(Succ(Succ(Succ(Succ(x2088))))), Pos(Succ(Succ(Succ(Succ(x2087))))), Pos(Succ(Succ(Succ(Succ(x2087))))), Neg(Succ(Succ(Succ(Succ(x2088))))), Pos(Succ(Succ(Succ(Succ(x2087))))))_>=_new_quot0(x2092, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2088)), Succ(Succ(x2087)), x2088, x2087)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x2087))))), Neg(new_primModNatS02(Succ(Succ(x2088)), Succ(Succ(x2087)), x2088, x2087)))) ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2088)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2088)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2088))), Succ(Succ(Succ(x2087))), Succ(x2088), Succ(x2087))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2088))), Succ(Succ(Succ(x2087))), Succ(x2088), Succ(x2087))))) (8) (new_primModNatS01(x2094, x2093)=Succ(x2080) & Succ(Succ(Zero))=x2094 & Succ(Succ(Zero))=x2093 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (9) (Succ(Succ(x2097))=Succ(x2080) & Succ(Succ(Zero))=x2097 & Succ(Succ(Succ(x2095)))=x2096 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2095))), Zero, Succ(x2095))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2095))), Zero, Succ(x2095))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2086, x2085)=Succ(x2080) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x2099), Succ(x2098)), Succ(x2098))=Succ(x2080) & Succ(Succ(Succ(x2084)))=x2099 & Succ(Succ(Zero))=x2098 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x2090, x2089, x2088, x2087)=Succ(x2080) & Succ(Succ(Succ(x2088)))=x2090 & Succ(Succ(Succ(x2087)))=x2089 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2088)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2088)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2088))), Succ(Succ(Succ(x2087))), Succ(x2088), Succ(x2087))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2088))), Succ(Succ(Succ(x2087))), Succ(x2088), Succ(x2087))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2094, x2093)=Succ(x2080) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2119), Succ(x2118)), Succ(x2118))=Succ(x2080) & Succ(Succ(Zero))=x2119 & Succ(Succ(Zero))=x2118 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2095))), Zero, Succ(x2095))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2095))), Zero, Succ(x2095))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2090, x2089, x2088, x2087)=Succ(x2080) which results in the following new constraints: (15) (new_primModNatS01(x2106, x2105)=Succ(x2080) & Succ(Succ(Succ(Succ(x2104))))=x2106 & Succ(Succ(Succ(Zero)))=x2105 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2104)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2104)), Succ(Zero))))) (16) (new_primModNatS02(x2110, x2109, x2108, x2107)=Succ(x2080) & Succ(Succ(Succ(Succ(x2108))))=x2110 & Succ(Succ(Succ(Succ(x2107))))=x2109 & (\/x2111,x2112:new_primModNatS02(x2110, x2109, x2108, x2107)=Succ(x2111) & Succ(Succ(Succ(x2108)))=x2110 & Succ(Succ(Succ(x2107)))=x2109 ==> new_quot(x2112, Neg(Succ(Succ(Succ(Succ(Succ(x2108)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2107)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2107)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2108)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2107)))))))_>=_new_quot0(x2112, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2108))), Succ(Succ(Succ(x2107))), Succ(x2108), Succ(x2107))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2107)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2108))), Succ(Succ(Succ(x2107))), Succ(x2108), Succ(x2107))))) ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2108)))), Succ(Succ(Succ(Succ(x2107)))), Succ(Succ(x2108)), Succ(Succ(x2107)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2108)))), Succ(Succ(Succ(Succ(x2107)))), Succ(Succ(x2108)), Succ(Succ(x2107)))))) (17) (new_primModNatS01(x2114, x2113)=Succ(x2080) & Succ(Succ(Succ(Zero)))=x2114 & Succ(Succ(Succ(Zero)))=x2113 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (18) (Succ(Succ(x2117))=Succ(x2080) & Succ(Succ(Succ(Zero)))=x2117 & Succ(Succ(Succ(Succ(x2115))))=x2116 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2115)))), Succ(Zero), Succ(Succ(x2115)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2115)))), Succ(Zero), Succ(Succ(x2115)))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2104)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2104)), Succ(Zero))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2108)))), Succ(Succ(Succ(Succ(x2107)))), Succ(Succ(x2108)), Succ(Succ(x2107)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2108)))), Succ(Succ(Succ(Succ(x2107)))), Succ(Succ(x2108)), Succ(Succ(x2107)))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2115)))), Succ(Zero), Succ(Succ(x2115)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2115)))), Succ(Zero), Succ(Succ(x2115)))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332)))))) -> new_quot0(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero))))), new_quot0(x1333, False, x1334, x1335) -> new_quot(x1333, x1334, x1335, x1335, x1334, x1335) which results in the following constraint: (1) (new_quot0(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))=new_quot0(x1333, False, x1334, x1335) ==> new_quot(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))))_>=_new_quot0(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))))_>=_new_quot0(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), new_quot0(x1394, False, x1395, x1396) -> new_quot(x1394, x1395, x1396, x1396, x1395, x1396) which results in the following constraint: (1) (new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))=new_quot0(x1394, False, x1395, x1396) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))=x2124 & Pos(Zero)=x2125 & new_primEqInt(x2124, x2125)=False ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2124, x2125)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))=Neg(Succ(x2127)) & Pos(Zero)=Pos(x2126) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) (4) (False=False & Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))=Pos(Succ(x2128)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: (5) (Succ(x1393)=x2129 & Succ(Succ(Zero))=x2130 & new_primModNatS1(x2129, x2130)=Succ(x2127) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x2129, x2130)=Succ(x2127) which results in the following new constraints: (6) (Succ(Zero)=Succ(x2127) & Succ(x1393)=Succ(Zero) & Succ(Succ(Zero))=Succ(x2131) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) (7) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x2127) & Succ(x1393)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) (8) (new_primModNatS1(new_primMinusNatS0(x2133), Zero)=Succ(x2127) & Succ(x1393)=Succ(Succ(x2133)) & Succ(Succ(Zero))=Zero ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) (9) (new_primModNatS02(x2135, x2134, x2135, x2134)=Succ(x2127) & Succ(x1393)=Succ(Succ(x2135)) & Succ(Succ(Zero))=Succ(x2134) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) We solved constraint (7) using rules (I), (II).We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x2135=x2136 & x2134=x2137 & new_primModNatS02(x2135, x2134, x2136, x2137)=Succ(x2127) & Succ(Zero)=x2134 ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2135)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2135)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2135)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2135)), Succ(Succ(Zero)))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2135, x2134, x2136, x2137)=Succ(x2127) which results in the following new constraints: (12) (new_primModNatS01(x2140, x2139)=Succ(x2127) & x2140=Succ(x2138) & x2139=Zero & Succ(Zero)=x2139 ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2140)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2140)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2140)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2140)), Succ(Succ(Zero)))))) (13) (new_primModNatS02(x2144, x2143, x2142, x2141)=Succ(x2127) & x2144=Succ(x2142) & x2143=Succ(x2141) & Succ(Zero)=x2143 & (\/x2145,x2146:new_primModNatS02(x2144, x2143, x2142, x2141)=Succ(x2145) & x2144=x2142 & x2143=x2141 & Succ(Zero)=x2143 ==> new_quot(x2146, Neg(Succ(Succ(Succ(Succ(Succ(x2144)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2144)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x2146, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2144)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2144)), Succ(Succ(Zero)))))) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2144)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2144)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2144)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2144)), Succ(Succ(Zero)))))) (14) (new_primModNatS01(x2148, x2147)=Succ(x2127) & x2148=Zero & x2147=Zero & Succ(Zero)=x2147 ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2148)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2148)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2148)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2148)), Succ(Succ(Zero)))))) (15) (Succ(Succ(x2151))=Succ(x2127) & x2151=Zero & x2150=Succ(x2149) & Succ(Zero)=x2150 ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2151)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2151)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2151)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2151)), Succ(Succ(Zero)))))) We solved constraint (12) using rules (I), (II), (III).We simplified constraint (13) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2142))))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2142))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x2142))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x2142))), Succ(Succ(Zero)))))) We solved constraint (14) using rules (I), (II), (III).We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (17) (new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero)))) -> new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero))), new_quot0(x1455, False, x1456, x1457) -> new_quot(x1455, x1456, x1457, x1457, x1456, x1457) which results in the following constraint: (1) (new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))=new_quot0(x1455, False, x1456, x1457) ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(x1454, Zero, x1454, Zero))=x2154 & Pos(Zero)=x2155 & new_primEqInt(x2154, x2155)=False ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2154, x2155)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS02(x1454, Zero, x1454, Zero))=Neg(Succ(x2157)) & Pos(Zero)=Pos(x2156) ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) (4) (False=False & Neg(new_primModNatS02(x1454, Zero, x1454, Zero))=Pos(Succ(x2158)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: (5) (Zero=x2159 & x1454=x2160 & Zero=x2161 & new_primModNatS02(x1454, x2159, x2160, x2161)=Succ(x2157) ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1454, x2159, x2160, x2161)=Succ(x2157) which results in the following new constraints: (6) (new_primModNatS01(x2164, x2163)=Succ(x2157) & Zero=x2163 & x2164=Succ(x2162) & Zero=Zero ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x2164))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2164))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x2164, Zero, x2164, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2164, Zero, x2164, Zero)))) (7) (new_primModNatS02(x2168, x2167, x2166, x2165)=Succ(x2157) & Zero=x2167 & x2168=Succ(x2166) & Zero=Succ(x2165) & (\/x2169,x2170:new_primModNatS02(x2168, x2167, x2166, x2165)=Succ(x2169) & Zero=x2167 & x2168=x2166 & Zero=x2165 ==> new_quot(x2170, Neg(Succ(Succ(Succ(Succ(x2168))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2168))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x2170, new_primEqInt(Neg(new_primModNatS02(x2168, Zero, x2168, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2168, Zero, x2168, Zero)))) ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x2168))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2168))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x2168, Zero, x2168, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2168, Zero, x2168, Zero)))) (8) (new_primModNatS01(x2172, x2171)=Succ(x2157) & Zero=x2171 & x2172=Zero & Zero=Zero ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x2172))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2172))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x2172, Zero, x2172, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2172, Zero, x2172, Zero)))) (9) (Succ(Succ(x2175))=Succ(x2157) & Zero=x2174 & x2175=Zero & Zero=Succ(x2173) ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x2175))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2175))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x2175, Zero, x2175, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2175, Zero, x2175, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (Succ(x2162)=x2176 & new_primModNatS01(x2176, x2163)=Succ(x2157) & Zero=x2163 ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)))) We solved constraint (7) using rules (I), (II).We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (Zero=x2183 & new_primModNatS01(x2183, x2171)=Succ(x2157) & Zero=x2171 ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2176, x2163)=Succ(x2157) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2178), Succ(x2177)), Succ(x2177))=Succ(x2157) & Succ(x2162)=x2178 & Zero=x2177 ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2183, x2171)=Succ(x2157) which results in the following new constraint: (14) (new_primModNatS1(new_primMinusNatS2(Succ(x2185), Succ(x2184)), Succ(x2184))=Succ(x2157) & Zero=x2185 & Zero=x2184 ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: (15) (new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), new_quot0(x1515, False, x1516, x1517) -> new_quot(x1515, x1516, x1517, x1517, x1516, x1517) which results in the following constraint: (1) (new_quot0(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_quot0(x1515, False, x1516, x1517) ==> new_quot(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_quot(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548)))))) -> new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))), new_quot0(x1549, False, x1550, x1551) -> new_quot(x1549, x1550, x1551, x1551, x1550, x1551) which results in the following constraint: (1) (new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))=new_quot0(x1549, False, x1550, x1551) ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))=x2190 & Pos(Zero)=x2191 & new_primEqInt(x2190, x2191)=False ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2190, x2191)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))=Neg(Succ(x2193)) & Pos(Zero)=Pos(x2192) ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) (4) (False=False & Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))=Pos(Succ(x2194)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: (5) (Succ(Succ(x1547))=x2195 & Succ(Succ(x1548))=x2196 & new_primModNatS02(x2195, x2196, x1547, x1548)=Succ(x2193) ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2195, x2196, x1547, x1548)=Succ(x2193) which results in the following new constraints: (6) (new_primModNatS01(x2199, x2198)=Succ(x2193) & Succ(Succ(Succ(x2197)))=x2199 & Succ(Succ(Zero))=x2198 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)))) (7) (new_primModNatS02(x2203, x2202, x2201, x2200)=Succ(x2193) & Succ(Succ(Succ(x2201)))=x2203 & Succ(Succ(Succ(x2200)))=x2202 & (\/x2204,x2205:new_primModNatS02(x2203, x2202, x2201, x2200)=Succ(x2204) & Succ(Succ(x2201))=x2203 & Succ(Succ(x2200))=x2202 ==> new_quot(x2205, Neg(Succ(Succ(Succ(Succ(x2201))))), Neg(Succ(Succ(Succ(Succ(x2200))))), Neg(Succ(Succ(Succ(Succ(x2200))))), Neg(Succ(Succ(Succ(Succ(x2201))))), Neg(Succ(Succ(Succ(Succ(x2200))))))_>=_new_quot0(x2205, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2201)), Succ(Succ(x2200)), x2201, x2200)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x2200))))), Neg(new_primModNatS02(Succ(Succ(x2201)), Succ(Succ(x2200)), x2201, x2200)))) ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2201)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2201)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2201))), Succ(Succ(Succ(x2200))), Succ(x2201), Succ(x2200))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2201))), Succ(Succ(Succ(x2200))), Succ(x2201), Succ(x2200))))) (8) (new_primModNatS01(x2207, x2206)=Succ(x2193) & Succ(Succ(Zero))=x2207 & Succ(Succ(Zero))=x2206 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (9) (Succ(Succ(x2210))=Succ(x2193) & Succ(Succ(Zero))=x2210 & Succ(Succ(Succ(x2208)))=x2209 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2208))), Zero, Succ(x2208))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2208))), Zero, Succ(x2208))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2199, x2198)=Succ(x2193) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x2212), Succ(x2211)), Succ(x2211))=Succ(x2193) & Succ(Succ(Succ(x2197)))=x2212 & Succ(Succ(Zero))=x2211 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x2203, x2202, x2201, x2200)=Succ(x2193) & Succ(Succ(Succ(x2201)))=x2203 & Succ(Succ(Succ(x2200)))=x2202 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2201)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2201)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2201))), Succ(Succ(Succ(x2200))), Succ(x2201), Succ(x2200))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2201))), Succ(Succ(Succ(x2200))), Succ(x2201), Succ(x2200))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2207, x2206)=Succ(x2193) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2232), Succ(x2231)), Succ(x2231))=Succ(x2193) & Succ(Succ(Zero))=x2232 & Succ(Succ(Zero))=x2231 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2208))), Zero, Succ(x2208))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2208))), Zero, Succ(x2208))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2203, x2202, x2201, x2200)=Succ(x2193) which results in the following new constraints: (15) (new_primModNatS01(x2219, x2218)=Succ(x2193) & Succ(Succ(Succ(Succ(x2217))))=x2219 & Succ(Succ(Succ(Zero)))=x2218 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2217)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2217)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2217)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2217)), Succ(Zero))))) (16) (new_primModNatS02(x2223, x2222, x2221, x2220)=Succ(x2193) & Succ(Succ(Succ(Succ(x2221))))=x2223 & Succ(Succ(Succ(Succ(x2220))))=x2222 & (\/x2224,x2225:new_primModNatS02(x2223, x2222, x2221, x2220)=Succ(x2224) & Succ(Succ(Succ(x2221)))=x2223 & Succ(Succ(Succ(x2220)))=x2222 ==> new_quot(x2225, Neg(Succ(Succ(Succ(Succ(Succ(x2221)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2220)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2220)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2221)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2220)))))))_>=_new_quot0(x2225, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2221))), Succ(Succ(Succ(x2220))), Succ(x2221), Succ(x2220))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2220)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2221))), Succ(Succ(Succ(x2220))), Succ(x2221), Succ(x2220))))) ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2221)))), Succ(Succ(Succ(Succ(x2220)))), Succ(Succ(x2221)), Succ(Succ(x2220)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2221)))), Succ(Succ(Succ(Succ(x2220)))), Succ(Succ(x2221)), Succ(Succ(x2220)))))) (17) (new_primModNatS01(x2227, x2226)=Succ(x2193) & Succ(Succ(Succ(Zero)))=x2227 & Succ(Succ(Succ(Zero)))=x2226 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (18) (Succ(Succ(x2230))=Succ(x2193) & Succ(Succ(Succ(Zero)))=x2230 & Succ(Succ(Succ(Succ(x2228))))=x2229 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2228)))), Succ(Zero), Succ(Succ(x2228)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2228)))), Succ(Zero), Succ(Succ(x2228)))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2217)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2217)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2217)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2217)), Succ(Zero))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2221)))), Succ(Succ(Succ(Succ(x2220)))), Succ(Succ(x2221)), Succ(Succ(x2220)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2221)))), Succ(Succ(Succ(Succ(x2220)))), Succ(Succ(x2221)), Succ(Succ(x2220)))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2228)))), Succ(Zero), Succ(Succ(x2228)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2228)))), Succ(Zero), Succ(Succ(x2228)))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637)))))) -> new_quot0(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero))))), new_quot0(x1638, False, x1639, x1640) -> new_quot(x1638, x1639, x1640, x1640, x1639, x1640) which results in the following constraint: (1) (new_quot0(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))=new_quot0(x1638, False, x1639, x1640) ==> new_quot(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))))_>=_new_quot0(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))))_>=_new_quot0(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), new_quot0(x1699, False, x1700, x1701) -> new_quot(x1699, x1700, x1701, x1701, x1700, x1701) which results in the following constraint: (1) (new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))=new_quot0(x1699, False, x1700, x1701) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))=x2237 & Pos(Zero)=x2238 & new_primEqInt(x2237, x2238)=False ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2237, x2238)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))=Neg(Succ(x2240)) & Pos(Zero)=Pos(x2239) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) (4) (False=False & Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))=Pos(Succ(x2241)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: (5) (Succ(x1698)=x2242 & Succ(Succ(Zero))=x2243 & new_primModNatS1(x2242, x2243)=Succ(x2240) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x2242, x2243)=Succ(x2240) which results in the following new constraints: (6) (Succ(Zero)=Succ(x2240) & Succ(x1698)=Succ(Zero) & Succ(Succ(Zero))=Succ(x2244) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) (7) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x2240) & Succ(x1698)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) (8) (new_primModNatS1(new_primMinusNatS0(x2246), Zero)=Succ(x2240) & Succ(x1698)=Succ(Succ(x2246)) & Succ(Succ(Zero))=Zero ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) (9) (new_primModNatS02(x2248, x2247, x2248, x2247)=Succ(x2240) & Succ(x1698)=Succ(Succ(x2248)) & Succ(Succ(Zero))=Succ(x2247) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) We solved constraint (7) using rules (I), (II).We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x2248=x2249 & x2247=x2250 & new_primModNatS02(x2248, x2247, x2249, x2250)=Succ(x2240) & Succ(Zero)=x2247 ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2248)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2248)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2248)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2248)), Succ(Succ(Zero)))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2248, x2247, x2249, x2250)=Succ(x2240) which results in the following new constraints: (12) (new_primModNatS01(x2253, x2252)=Succ(x2240) & x2253=Succ(x2251) & x2252=Zero & Succ(Zero)=x2252 ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2253)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2253)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2253)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2253)), Succ(Succ(Zero)))))) (13) (new_primModNatS02(x2257, x2256, x2255, x2254)=Succ(x2240) & x2257=Succ(x2255) & x2256=Succ(x2254) & Succ(Zero)=x2256 & (\/x2258,x2259:new_primModNatS02(x2257, x2256, x2255, x2254)=Succ(x2258) & x2257=x2255 & x2256=x2254 & Succ(Zero)=x2256 ==> new_quot(x2259, Neg(Succ(Succ(Succ(Succ(Succ(x2257)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2257)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x2259, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2257)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2257)), Succ(Succ(Zero)))))) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2257)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2257)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2257)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2257)), Succ(Succ(Zero)))))) (14) (new_primModNatS01(x2261, x2260)=Succ(x2240) & x2261=Zero & x2260=Zero & Succ(Zero)=x2260 ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2261)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2261)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2261)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2261)), Succ(Succ(Zero)))))) (15) (Succ(Succ(x2264))=Succ(x2240) & x2264=Zero & x2263=Succ(x2262) & Succ(Zero)=x2263 ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2264)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2264)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(x2264)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2264)), Succ(Succ(Zero)))))) We solved constraint (12) using rules (I), (II), (III).We simplified constraint (13) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2255))))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2255))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x2255))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x2255))), Succ(Succ(Zero)))))) We solved constraint (14) using rules (I), (II), (III).We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (17) (new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero)))) -> new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero))), new_quot0(x1760, False, x1761, x1762) -> new_quot(x1760, x1761, x1762, x1762, x1761, x1762) which results in the following constraint: (1) (new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))=new_quot0(x1760, False, x1761, x1762) ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(x1759, Zero, x1759, Zero))=x2267 & Pos(Zero)=x2268 & new_primEqInt(x2267, x2268)=False ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x2267, x2268)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS02(x1759, Zero, x1759, Zero))=Neg(Succ(x2270)) & Pos(Zero)=Pos(x2269) ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) (4) (False=False & Neg(new_primModNatS02(x1759, Zero, x1759, Zero))=Pos(Succ(x2271)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: (5) (Zero=x2272 & x1759=x2273 & Zero=x2274 & new_primModNatS02(x1759, x2272, x2273, x2274)=Succ(x2270) ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1759, x2272, x2273, x2274)=Succ(x2270) which results in the following new constraints: (6) (new_primModNatS01(x2277, x2276)=Succ(x2270) & Zero=x2276 & x2277=Succ(x2275) & Zero=Zero ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x2277))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2277))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x2277, Zero, x2277, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2277, Zero, x2277, Zero)))) (7) (new_primModNatS02(x2281, x2280, x2279, x2278)=Succ(x2270) & Zero=x2280 & x2281=Succ(x2279) & Zero=Succ(x2278) & (\/x2282,x2283:new_primModNatS02(x2281, x2280, x2279, x2278)=Succ(x2282) & Zero=x2280 & x2281=x2279 & Zero=x2278 ==> new_quot(x2283, Neg(Succ(Succ(Succ(Succ(x2281))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2281))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x2283, new_primEqInt(Neg(new_primModNatS02(x2281, Zero, x2281, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2281, Zero, x2281, Zero)))) ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x2281))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2281))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x2281, Zero, x2281, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2281, Zero, x2281, Zero)))) (8) (new_primModNatS01(x2285, x2284)=Succ(x2270) & Zero=x2284 & x2285=Zero & Zero=Zero ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x2285))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2285))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x2285, Zero, x2285, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2285, Zero, x2285, Zero)))) (9) (Succ(Succ(x2288))=Succ(x2270) & Zero=x2287 & x2288=Zero & Zero=Succ(x2286) ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x2288))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2288))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x2288, Zero, x2288, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2288, Zero, x2288, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (Succ(x2275)=x2289 & new_primModNatS01(x2289, x2276)=Succ(x2270) & Zero=x2276 ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)))) We solved constraint (7) using rules (I), (II).We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (Zero=x2296 & new_primModNatS01(x2296, x2284)=Succ(x2270) & Zero=x2284 ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2289, x2276)=Succ(x2270) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2291), Succ(x2290)), Succ(x2290))=Succ(x2270) & Succ(x2275)=x2291 & Zero=x2290 ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2296, x2284)=Succ(x2270) which results in the following new constraint: (14) (new_primModNatS1(new_primMinusNatS2(Succ(x2298), Succ(x2297)), Succ(x2297))=Succ(x2270) & Zero=x2298 & Zero=x2297 ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: (15) (new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), new_quot0(x1820, False, x1821, x1822) -> new_quot(x1820, x1821, x1822, x1822, x1821, x1822) which results in the following constraint: (1) (new_quot0(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_quot0(x1820, False, x1821, x1822) ==> new_quot(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) *(new_quot0(x3, False, Pos(Succ(Zero)), Neg(Succ(Succ(x7))))_>=_new_quot(x3, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Neg(Succ(Succ(x7))), Pos(Succ(Zero)), Neg(Succ(Succ(x7))))) *(new_quot0(x8, False, Pos(Succ(Zero)), Pos(Succ(Succ(x12))))_>=_new_quot(x8, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Succ(x12))), Pos(Succ(Zero)), Pos(Succ(Succ(x12))))) *(new_quot0(x13, False, Neg(Succ(Zero)), Pos(Succ(Succ(x17))))_>=_new_quot(x13, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Pos(Succ(Succ(x17))), Neg(Succ(Zero)), Pos(Succ(Succ(x17))))) *(new_quot0(x18, False, Neg(Succ(Zero)), Neg(Succ(Succ(x22))))_>=_new_quot(x18, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Succ(x22))), Neg(Succ(Zero)), Neg(Succ(Succ(x22))))) *(new_quot0(x23, False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))_>=_new_quot(x23, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))) *(new_quot0(x28, False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))_>=_new_quot(x28, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))) *(new_quot0(x33, False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))_>=_new_quot(x33, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))) *(new_quot0(x38, False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))_>=_new_quot(x38, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))) *(new_quot0(x43, False, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))_>=_new_quot(x43, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))) *(new_quot0(x49, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))_>=_new_quot(x49, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))) *(new_quot0(x54, False, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x54, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))))) *(new_quot0(x59, False, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))))_>=_new_quot(x59, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))))) *(new_quot0(x64, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x64, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) *(new_quot0(x68, False, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))))_>=_new_quot(x68, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))))) *(new_quot0(x74, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))))_>=_new_quot(x74, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))))) *(new_quot0(x79, False, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x79, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))))) *(new_quot0(x84, False, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))))_>=_new_quot(x84, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))))) *(new_quot0(x89, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x89, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) *(new_quot0(x93, False, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))))_>=_new_quot(x93, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))))) *(new_quot0(x99, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))_>=_new_quot(x99, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))) *(new_quot0(x104, False, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x104, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))))) *(new_quot0(x109, False, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))))_>=_new_quot(x109, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))))) *(new_quot0(x114, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x114, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) *(new_quot0(x118, False, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))))_>=_new_quot(x118, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))))) *(new_quot0(x124, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))))_>=_new_quot(x124, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))))) *(new_quot0(x129, False, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x129, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))))) *(new_quot0(x134, False, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))))_>=_new_quot(x134, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))))) *(new_quot0(x139, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x139, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) *new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) *(new_quot(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Neg(Succ(Succ(x144))), Pos(Succ(Zero)), Neg(Succ(Succ(x144))))_>=_new_quot0(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))) *new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) *(new_quot(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Pos(Succ(Succ(x205))), Pos(Succ(Zero)), Pos(Succ(Succ(x205))))_>=_new_quot0(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))) *new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) *(new_quot(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Pos(Succ(Succ(x266))), Neg(Succ(Zero)), Pos(Succ(Succ(x266))))_>=_new_quot0(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))) *new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) *(new_quot(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Neg(Succ(Succ(x327))), Neg(Succ(Zero)), Neg(Succ(Succ(x327))))_>=_new_quot0(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))) *new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_quot(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))))_>=_new_quot0(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))) *new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_quot(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))))_>=_new_quot0(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))) *new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_quot(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))))_>=_new_quot0(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))) *new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_quot(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))))_>=_new_quot0(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))) *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1889)))), Succ(Zero), Succ(Succ(x1889)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1889)))), Succ(Zero), Succ(Succ(x1889)))))) *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1869))), Zero, Succ(x1869))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1869))), Zero, Succ(x1869))))) *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1858))), Succ(Succ(Zero)), Succ(x1858), Zero)))) *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1878)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1878)), Succ(Zero))))) *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1882)))), Succ(Succ(Succ(Succ(x1881)))), Succ(Succ(x1882)), Succ(Succ(x1881)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1882)))), Succ(Succ(Succ(Succ(x1881)))), Succ(Succ(x1882)), Succ(Succ(x1881)))))) *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x631, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_quot(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))))_>=_new_quot0(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))) *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_quot(x782, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) *(new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) *(new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1916))))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1916))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x782, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x1916))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1916))), Succ(Succ(Zero)))))) *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) *(new_quot(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1936), Zero, Succ(x1936), Zero)))) *(new_quot(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) *(new_quot(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2002)))), Succ(Zero), Succ(Succ(x2002)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2002)))), Succ(Zero), Succ(Succ(x2002)))))) *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1982))), Zero, Succ(x1982))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1982))), Zero, Succ(x1982))))) *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)))) *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))))) *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1995)))), Succ(Succ(Succ(Succ(x1994)))), Succ(Succ(x1995)), Succ(Succ(x1994)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1995)))), Succ(Succ(Succ(Succ(x1994)))), Succ(Succ(x1995)), Succ(Succ(x1994)))))) *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x936, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_quot(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))))_>=_new_quot0(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))) *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) *(new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) *(new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2029))))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2029))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1087, new_primEqInt(Pos(new_primModNatS1(Succ(Succ(Succ(x2029))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x2029))), Succ(Succ(Zero)))))) *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) *(new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2049), Zero, Succ(x2049), Zero)))) *(new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) *(new_quot(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2115)))), Succ(Zero), Succ(Succ(x2115)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2115)))), Succ(Zero), Succ(Succ(x2115)))))) *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2095))), Zero, Succ(x2095))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2095))), Zero, Succ(x2095))))) *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2084))), Succ(Succ(Zero)), Succ(x2084), Zero)))) *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2104)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2104)), Succ(Zero))))) *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2108)))), Succ(Succ(Succ(Succ(x2107)))), Succ(Succ(x2108)), Succ(Succ(x2107)))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2108)))), Succ(Succ(Succ(Succ(x2107)))), Succ(Succ(x2108)), Succ(Succ(x2107)))))) *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1241, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_quot(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))))_>=_new_quot0(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))) *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) *(new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) *(new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2142))))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2142))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1392, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x2142))), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x2142))), Succ(Succ(Zero)))))) *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) *(new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2162), Zero, Succ(x2162), Zero)))) *(new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) *(new_quot(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2228)))), Succ(Zero), Succ(Succ(x2228)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2228)))), Succ(Zero), Succ(Succ(x2228)))))) *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2208))), Zero, Succ(x2208))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x2208))), Zero, Succ(x2208))))) *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x2197))), Succ(Succ(Zero)), Succ(x2197), Zero)))) *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2217)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2217)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2217)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2217)), Succ(Zero))))) *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2221)))), Succ(Succ(Succ(Succ(x2220)))), Succ(Succ(x2221)), Succ(Succ(x2220)))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x2221)))), Succ(Succ(Succ(Succ(x2220)))), Succ(Succ(x2221)), Succ(Succ(x2220)))))) *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1546, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_quot(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))))_>=_new_quot0(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))) *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) *(new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) *(new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2255))))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2255))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1697, new_primEqInt(Neg(new_primModNatS1(Succ(Succ(Succ(x2255))), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x2255))), Succ(Succ(Zero)))))) *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) *(new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2275), Zero, Succ(x2275), Zero)))) *(new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) *(new_quot(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (602) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)), Pos(Zero)), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (603) Obligation: Q DP problem: The TRS P consists of the following rules: new_signumReal1(vuz461, Succ(vuz4620), Succ(vuz4630), h) -> new_signumReal1(vuz461, vuz4620, vuz4630, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (604) 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_signumReal1(vuz461, Succ(vuz4620), Succ(vuz4630), h) -> new_signumReal1(vuz461, vuz4620, vuz4630, h) The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4 ---------------------------------------- (605) YES ---------------------------------------- (606) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) new_gcd0Gcd'2(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_rem(vuz259, vuz258)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primMinusNatS2(Zero, Zero) -> Zero new_primEqNat0(Zero, Zero) -> True new_primEqInt(Neg(Zero), Neg(Zero)) -> True new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_fromInt(vuz31) -> vuz31 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primModNatS1(Zero, vuz15500) -> Zero new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_esEs(vuz170) -> new_primEqInt(vuz170, new_fromInt(Pos(Zero))) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_error -> error([]) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primEqNat0(Succ(vuz170000), Zero) -> False new_primEqNat0(Zero, Succ(vuz173000)) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_rem(vuz156, vuz155) -> new_primRemInt(vuz156, vuz155) new_primEqInt(Pos(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_esEs(x0) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_rem(x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_fromInt(x0) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (607) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (608) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_rem(vuz259, vuz258)) new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primMinusNatS2(Zero, Zero) -> Zero new_primEqNat0(Zero, Zero) -> True new_primEqInt(Neg(Zero), Neg(Zero)) -> True new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_fromInt(vuz31) -> vuz31 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primModNatS1(Zero, vuz15500) -> Zero new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_esEs(vuz170) -> new_primEqInt(vuz170, new_fromInt(Pos(Zero))) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_error -> error([]) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primEqNat0(Succ(vuz170000), Zero) -> False new_primEqNat0(Zero, Succ(vuz173000)) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_rem(vuz156, vuz155) -> new_primRemInt(vuz156, vuz155) new_primEqInt(Pos(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_esEs(x0) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_rem(x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_fromInt(x0) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (609) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_rem(vuz259, vuz258)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)),new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258))) ---------------------------------------- (610) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primMinusNatS2(Zero, Zero) -> Zero new_primEqNat0(Zero, Zero) -> True new_primEqInt(Neg(Zero), Neg(Zero)) -> True new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_fromInt(vuz31) -> vuz31 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primModNatS1(Zero, vuz15500) -> Zero new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_esEs(vuz170) -> new_primEqInt(vuz170, new_fromInt(Pos(Zero))) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_error -> error([]) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primEqNat0(Succ(vuz170000), Zero) -> False new_primEqNat0(Zero, Succ(vuz173000)) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_rem(vuz156, vuz155) -> new_primRemInt(vuz156, vuz155) new_primEqInt(Pos(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_esEs(x0) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_rem(x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_fromInt(x0) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (611) 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. ---------------------------------------- (612) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_esEs(vuz170) -> new_primEqInt(vuz170, new_fromInt(Pos(Zero))) new_fromInt(vuz31) -> vuz31 new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Neg(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primEqNat0(Zero, Zero) -> True new_primEqNat0(Succ(vuz170000), Zero) -> False new_primEqNat0(Zero, Succ(vuz173000)) -> False new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_esEs(x0) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_rem(x0, x1) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_fromInt(x0) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (613) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_rem(x0, x1) ---------------------------------------- (614) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_esEs(vuz170) -> new_primEqInt(vuz170, new_fromInt(Pos(Zero))) new_fromInt(vuz31) -> vuz31 new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Neg(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primEqNat0(Zero, Zero) -> True new_primEqNat0(Succ(vuz170000), Zero) -> False new_primEqNat0(Zero, Succ(vuz173000)) -> False new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_esEs(x0) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_fromInt(x0) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (615) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, new_fromInt(Pos(Zero))), vuz259, vuz258),new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, new_fromInt(Pos(Zero))), vuz259, vuz258)) ---------------------------------------- (616) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, new_fromInt(Pos(Zero))), vuz259, vuz258) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_esEs(vuz170) -> new_primEqInt(vuz170, new_fromInt(Pos(Zero))) new_fromInt(vuz31) -> vuz31 new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Neg(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primEqNat0(Zero, Zero) -> True new_primEqNat0(Succ(vuz170000), Zero) -> False new_primEqNat0(Zero, Succ(vuz173000)) -> False new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_esEs(x0) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_fromInt(x0) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (617) 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. ---------------------------------------- (618) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, new_fromInt(Pos(Zero))), vuz259, vuz258) The TRS R consists of the following rules: new_fromInt(vuz31) -> vuz31 new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Neg(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primEqNat0(Zero, Zero) -> True new_primEqNat0(Succ(vuz170000), Zero) -> False new_primEqNat0(Zero, Succ(vuz173000)) -> False new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_esEs(x0) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_fromInt(x0) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (619) 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_esEs(x0) ---------------------------------------- (620) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, new_fromInt(Pos(Zero))), vuz259, vuz258) The TRS R consists of the following rules: new_fromInt(vuz31) -> vuz31 new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Neg(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primEqNat0(Zero, Zero) -> True new_primEqNat0(Succ(vuz170000), Zero) -> False new_primEqNat0(Zero, Succ(vuz173000)) -> False new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_fromInt(x0) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (621) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, new_fromInt(Pos(Zero))), vuz259, vuz258) at position [0,1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, Pos(Zero)), vuz259, vuz258),new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, Pos(Zero)), vuz259, vuz258)) ---------------------------------------- (622) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, Pos(Zero)), vuz259, vuz258) The TRS R consists of the following rules: new_fromInt(vuz31) -> vuz31 new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Neg(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False new_primEqInt(Pos(Zero), Neg(Zero)) -> True new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primEqNat0(Zero, Zero) -> True new_primEqNat0(Succ(vuz170000), Zero) -> False new_primEqNat0(Zero, Succ(vuz173000)) -> False new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_fromInt(x0) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (623) 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. ---------------------------------------- (624) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, Pos(Zero)), vuz259, vuz258) The TRS R consists of the following rules: new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primEqNat0(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_primEqNat0(Succ(x0), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqNat0(Zero, Succ(x0)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_fromInt(x0) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (625) 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_primEqNat0(Zero, Zero) new_primEqNat0(Succ(x0), Succ(x1)) new_primEqNat0(Succ(x0), Zero) new_primEqNat0(Zero, Succ(x0)) new_fromInt(x0) ---------------------------------------- (626) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, Pos(Zero)), vuz259, vuz258) The TRS R consists of the following rules: new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (627) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, Pos(Zero)), vuz259, vuz258) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'(y0, Pos(Zero)) -> new_gcd0Gcd'1(True, y0, Pos(Zero)),new_gcd0Gcd'(y0, Pos(Zero)) -> new_gcd0Gcd'1(True, y0, Pos(Zero))) (new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))),new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0)))) (new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))),new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0)))) (new_gcd0Gcd'(y0, Neg(Zero)) -> new_gcd0Gcd'1(True, y0, Neg(Zero)),new_gcd0Gcd'(y0, Neg(Zero)) -> new_gcd0Gcd'1(True, y0, Neg(Zero))) ---------------------------------------- (628) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) new_gcd0Gcd'(y0, Pos(Zero)) -> new_gcd0Gcd'1(True, y0, Pos(Zero)) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'(y0, Neg(Zero)) -> new_gcd0Gcd'1(True, y0, Neg(Zero)) The TRS R consists of the following rules: new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (629) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (630) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) The TRS R consists of the following rules: new_primEqInt(Pos(Zero), Pos(Zero)) -> True new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False new_primEqInt(Neg(Zero), Pos(Zero)) -> True new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (631) 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. ---------------------------------------- (632) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primMinusNatS1 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (633) 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_primEqInt(Pos(Zero), Neg(Zero)) new_primEqInt(Neg(Zero), Pos(Zero)) new_primEqInt(Pos(Zero), Pos(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) new_primEqInt(Neg(Zero), Neg(Succ(x0))) new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) new_primEqInt(Pos(Zero), Pos(Succ(x0))) new_primEqInt(Pos(Succ(x0)), Neg(x1)) new_primEqInt(Neg(Succ(x0)), Pos(x1)) new_primEqInt(Neg(Zero), Neg(Zero)) new_primEqInt(Neg(Succ(x0)), Neg(Zero)) new_primEqInt(Pos(Succ(x0)), Pos(Zero)) new_primEqInt(Pos(Zero), Neg(Succ(x0))) new_primEqInt(Neg(Zero), Pos(Succ(x0))) ---------------------------------------- (634) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (635) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (636) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (637) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) the following chains were created: *We consider the chain new_gcd0Gcd'(x2, Pos(Succ(x3))) -> new_gcd0Gcd'1(False, x2, Pos(Succ(x3))), new_gcd0Gcd'1(False, x4, x5) -> new_gcd0Gcd'(x5, new_primRemInt(x4, x5)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x2, Pos(Succ(x3)))=new_gcd0Gcd'1(False, x4, x5) ==> new_gcd0Gcd'(x2, Pos(Succ(x3)))_>=_new_gcd0Gcd'1(False, x2, Pos(Succ(x3)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(x2, Pos(Succ(x3)))_>=_new_gcd0Gcd'1(False, x2, Pos(Succ(x3)))) For Pair new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, x8, x9) -> new_gcd0Gcd'(x9, new_primRemInt(x8, x9)), new_gcd0Gcd'(x10, Pos(Succ(x11))) -> new_gcd0Gcd'1(False, x10, Pos(Succ(x11))) which results in the following constraint: (1) (new_gcd0Gcd'(x9, new_primRemInt(x8, x9))=new_gcd0Gcd'(x10, Pos(Succ(x11))) ==> new_gcd0Gcd'1(False, x8, x9)_>=_new_gcd0Gcd'(x9, new_primRemInt(x8, x9))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primRemInt(x8, x9)=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, x8, x9)_>=_new_gcd0Gcd'(x9, new_primRemInt(x8, x9))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x8, x9)=Pos(Succ(x11)) which results in the following new constraints: (3) (Pos(new_primModNatS1(x27, x26))=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, Pos(x27), Neg(Succ(x26)))_>=_new_gcd0Gcd'(Neg(Succ(x26)), new_primRemInt(Pos(x27), Neg(Succ(x26))))) (4) (Pos(new_primModNatS1(x29, x28))=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, Pos(x29), Pos(Succ(x28)))_>=_new_gcd0Gcd'(Pos(Succ(x28)), new_primRemInt(Pos(x29), Pos(Succ(x28))))) (5) (new_error=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, Neg(x30), Neg(Zero))_>=_new_gcd0Gcd'(Neg(Zero), new_primRemInt(Neg(x30), Neg(Zero)))) (6) (new_error=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, Pos(x33), Pos(Zero))_>=_new_gcd0Gcd'(Pos(Zero), new_primRemInt(Pos(x33), Pos(Zero)))) (7) (new_error=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, Pos(x36), Neg(Zero))_>=_new_gcd0Gcd'(Neg(Zero), new_primRemInt(Pos(x36), Neg(Zero)))) (8) (new_error=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, Neg(x37), Pos(Zero))_>=_new_gcd0Gcd'(Pos(Zero), new_primRemInt(Neg(x37), Pos(Zero)))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (9) (new_primModNatS1(x27, x26)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(x27), Neg(Succ(x26)))_>=_new_gcd0Gcd'(Neg(Succ(x26)), new_primRemInt(Pos(x27), Neg(Succ(x26))))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (10) (new_primModNatS1(x29, x28)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(x29), Pos(Succ(x28)))_>=_new_gcd0Gcd'(Pos(Succ(x28)), new_primRemInt(Pos(x29), Pos(Succ(x28))))) We solved constraint (5) using rule (V) (with possible (I) afterwards).We solved constraint (6) using rule (V) (with possible (I) afterwards).We solved constraint (7) using rule (V) (with possible (I) afterwards).We solved constraint (8) using rule (V) (with possible (I) afterwards).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x27, x26)=Succ(x11) which results in the following new constraints: (11) (Succ(Zero)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x38))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x38))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x38)))))) (12) (new_primModNatS1(new_primMinusNatS0(x40), Zero)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(x40))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x40))), Neg(Succ(Zero))))) (13) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) (14) (new_primModNatS02(x42, x41, x42, x41)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(x42))), Neg(Succ(Succ(x41))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x41))), new_primRemInt(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x41)))))) We simplified constraint (11) using rules (I), (II), (IV) which results in the following new constraint: (15) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x38))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x38))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x38)))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x40))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x40))), Neg(Succ(Zero))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x47))), Neg(Succ(Succ(x48))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x48))), new_primRemInt(Pos(Succ(Succ(x47))), Neg(Succ(Succ(x48)))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x29, x28)=Succ(x11) which results in the following new constraints: (19) (Succ(Zero)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x49))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x49))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x49)))))) (20) (new_primModNatS1(new_primMinusNatS0(x51), Zero)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(x51))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x51))), Pos(Succ(Zero))))) (21) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) (22) (new_primModNatS02(x53, x52, x53, x52)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(x53))), Pos(Succ(Succ(x52))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x52))), new_primRemInt(Pos(Succ(Succ(x53))), Pos(Succ(Succ(x52)))))) We simplified constraint (19) using rules (I), (II), (IV) which results in the following new constraint: (23) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x49))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x49))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x49)))))) We simplified constraint (20) using rules (III), (IV), (VII) which results in the following new constraint: (24) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x51))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x51))), Pos(Succ(Zero))))) We simplified constraint (21) using rules (III), (IV), (VII) which results in the following new constraint: (25) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) We simplified constraint (22) using rules (III), (IV), (VII) which results in the following new constraint: (26) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x58))), Pos(Succ(Succ(x59))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x59))), new_primRemInt(Pos(Succ(Succ(x58))), Pos(Succ(Succ(x59)))))) *We consider the chain new_gcd0Gcd'1(False, x14, x15) -> new_gcd0Gcd'(x15, new_primRemInt(x14, x15)), new_gcd0Gcd'(x16, Neg(Succ(x17))) -> new_gcd0Gcd'1(False, x16, Neg(Succ(x17))) which results in the following constraint: (1) (new_gcd0Gcd'(x15, new_primRemInt(x14, x15))=new_gcd0Gcd'(x16, Neg(Succ(x17))) ==> new_gcd0Gcd'1(False, x14, x15)_>=_new_gcd0Gcd'(x15, new_primRemInt(x14, x15))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primRemInt(x14, x15)=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, x14, x15)_>=_new_gcd0Gcd'(x15, new_primRemInt(x14, x15))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x14, x15)=Neg(Succ(x17)) which results in the following new constraints: (3) (new_error=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, Neg(x64), Neg(Zero))_>=_new_gcd0Gcd'(Neg(Zero), new_primRemInt(Neg(x64), Neg(Zero)))) (4) (Neg(new_primModNatS1(x66, x65))=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, Neg(x66), Pos(Succ(x65)))_>=_new_gcd0Gcd'(Pos(Succ(x65)), new_primRemInt(Neg(x66), Pos(Succ(x65))))) (5) (new_error=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, Pos(x67), Pos(Zero))_>=_new_gcd0Gcd'(Pos(Zero), new_primRemInt(Pos(x67), Pos(Zero)))) (6) (Neg(new_primModNatS1(x69, x68))=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, Neg(x69), Neg(Succ(x68)))_>=_new_gcd0Gcd'(Neg(Succ(x68)), new_primRemInt(Neg(x69), Neg(Succ(x68))))) (7) (new_error=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, Pos(x70), Neg(Zero))_>=_new_gcd0Gcd'(Neg(Zero), new_primRemInt(Pos(x70), Neg(Zero)))) (8) (new_error=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, Neg(x71), Pos(Zero))_>=_new_gcd0Gcd'(Pos(Zero), new_primRemInt(Neg(x71), Pos(Zero)))) We solved constraint (3) using rule (V) (with possible (I) afterwards).We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (9) (new_primModNatS1(x66, x65)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(x66), Pos(Succ(x65)))_>=_new_gcd0Gcd'(Pos(Succ(x65)), new_primRemInt(Neg(x66), Pos(Succ(x65))))) We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: (10) (new_primModNatS1(x69, x68)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(x69), Neg(Succ(x68)))_>=_new_gcd0Gcd'(Neg(Succ(x68)), new_primRemInt(Neg(x69), Neg(Succ(x68))))) We solved constraint (7) using rule (V) (with possible (I) afterwards).We solved constraint (8) using rule (V) (with possible (I) afterwards).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x66, x65)=Succ(x17) which results in the following new constraints: (11) (Succ(Zero)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x72))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x72))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x72)))))) (12) (new_primModNatS1(new_primMinusNatS0(x74), Zero)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(x74))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x74))), Pos(Succ(Zero))))) (13) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) (14) (new_primModNatS02(x76, x75, x76, x75)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(x76))), Pos(Succ(Succ(x75))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x75))), new_primRemInt(Neg(Succ(Succ(x76))), Pos(Succ(Succ(x75)))))) We simplified constraint (11) using rules (I), (II), (IV) which results in the following new constraint: (15) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x72))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x72))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x72)))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x74))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x74))), Pos(Succ(Zero))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x81))), Pos(Succ(Succ(x82))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x82))), new_primRemInt(Neg(Succ(Succ(x81))), Pos(Succ(Succ(x82)))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x69, x68)=Succ(x17) which results in the following new constraints: (19) (Succ(Zero)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x83))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x83))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x83)))))) (20) (new_primModNatS1(new_primMinusNatS0(x85), Zero)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(x85))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x85))), Neg(Succ(Zero))))) (21) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) (22) (new_primModNatS02(x87, x86, x87, x86)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(x87))), Neg(Succ(Succ(x86))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x86))), new_primRemInt(Neg(Succ(Succ(x87))), Neg(Succ(Succ(x86)))))) We simplified constraint (19) using rules (I), (II), (IV) which results in the following new constraint: (23) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x83))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x83))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x83)))))) We simplified constraint (20) using rules (III), (IV), (VII) which results in the following new constraint: (24) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x85))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x85))), Neg(Succ(Zero))))) We simplified constraint (21) using rules (III), (IV), (VII) which results in the following new constraint: (25) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) We simplified constraint (22) using rules (III), (IV), (VII) which results in the following new constraint: (26) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x92))), Neg(Succ(Succ(x93))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x93))), new_primRemInt(Neg(Succ(Succ(x92))), Neg(Succ(Succ(x93)))))) For Pair new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) the following chains were created: *We consider the chain new_gcd0Gcd'(x20, Neg(Succ(x21))) -> new_gcd0Gcd'1(False, x20, Neg(Succ(x21))), new_gcd0Gcd'1(False, x22, x23) -> new_gcd0Gcd'(x23, new_primRemInt(x22, x23)) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x20, Neg(Succ(x21)))=new_gcd0Gcd'1(False, x22, x23) ==> new_gcd0Gcd'(x20, Neg(Succ(x21)))_>=_new_gcd0Gcd'1(False, x20, Neg(Succ(x21)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'(x20, Neg(Succ(x21)))_>=_new_gcd0Gcd'1(False, x20, Neg(Succ(x21)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) *(new_gcd0Gcd'(x2, Pos(Succ(x3)))_>=_new_gcd0Gcd'1(False, x2, Pos(Succ(x3)))) *new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) *(new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x38))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x38))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x38)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x49))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x49))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x49)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(x40))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x40))), Neg(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(x47))), Neg(Succ(Succ(x48))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x48))), new_primRemInt(Pos(Succ(Succ(x47))), Neg(Succ(Succ(x48)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(x51))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x51))), Pos(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(x58))), Pos(Succ(Succ(x59))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x59))), new_primRemInt(Pos(Succ(Succ(x58))), Pos(Succ(Succ(x59)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x72))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x72))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x72)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x83))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x83))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x83)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(x74))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x74))), Pos(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(x81))), Pos(Succ(Succ(x82))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x82))), new_primRemInt(Neg(Succ(Succ(x81))), Pos(Succ(Succ(x82)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(x85))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x85))), Neg(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(x92))), Neg(Succ(Succ(x93))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x93))), new_primRemInt(Neg(Succ(Succ(x92))), Neg(Succ(Succ(x93)))))) *new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) *(new_gcd0Gcd'(x20, Neg(Succ(x21)))_>=_new_gcd0Gcd'1(False, x20, Neg(Succ(x21)))) 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. ---------------------------------------- (638) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (639) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'1(False, Neg(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error),new_gcd0Gcd'1(False, Neg(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error)) (new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'1(False, Pos(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error),new_gcd0Gcd'1(False, Pos(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error)) (new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'1(False, Pos(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error),new_gcd0Gcd'1(False, Pos(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error)) (new_gcd0Gcd'1(False, Neg(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error),new_gcd0Gcd'1(False, Neg(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error)) ---------------------------------------- (640) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error) new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error) new_gcd0Gcd'1(False, Neg(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (641) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes. ---------------------------------------- (642) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS0(vuz30100) -> Succ(vuz30100) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (643) 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. ---------------------------------------- (644) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_error new_primModNatS1(Succ(Zero), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primMinusNatS0(x0) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primRemInt(Neg(x0), Neg(Zero)) new_primModNatS1(Succ(Zero), Succ(x0)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primRemInt(Neg(x0), Neg(Succ(x1))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (645) 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(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_error new_primRemInt(Pos(x0), Pos(Succ(x1))) 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_primRemInt(Neg(x0), Neg(Succ(x1))) ---------------------------------------- (646) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (647) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'1(False, Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (648) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (649) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (650) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (651) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (652) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (653) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (654) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (655) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (656) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (657) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'1(False, Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (658) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (659) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (660) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (661) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (662) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (663) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (664) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (665) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (666) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (667) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'1(False, Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (668) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (669) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (670) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (671) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (672) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (673) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (674) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (675) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (676) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (677) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'1(False, Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (678) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (679) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (680) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (681) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (682) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (683) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (684) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (685) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (686) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (687) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (688) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (689) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (690) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (691) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (692) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (693) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (694) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (695) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) ---------------------------------------- (696) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (697) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (698) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (699) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (700) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (701) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (702) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (703) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (704) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (705) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (706) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 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'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (709) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (710) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (711) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (712) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (713) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (714) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (715) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (716) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (717) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (718) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (719) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) ---------------------------------------- (720) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (721) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (722) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (723) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (724) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 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'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (727) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (728) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (729) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (730) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (731) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (732) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (733) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (734) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (735) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (736) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (737) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (738) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (739) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (740) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (741) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (742) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (743) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) ---------------------------------------- (744) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (745) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (746) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (747) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (748) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 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'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (751) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (752) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (753) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (754) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (755) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (756) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (757) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (758) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (759) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (760) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (761) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (762) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (763) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (764) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (765) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (766) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (767) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (768) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (769) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (770) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (771) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) ---------------------------------------- (772) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (773) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (774) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (775) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) ---------------------------------------- (776) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (777) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (778) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (779) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (780) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (781) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (782) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (783) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (784) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (785) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (786) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (787) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (788) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (789) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (790) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (791) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (792) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (793) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (794) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (795) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (796) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (797) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (798) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (799) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (800) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (801) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) ---------------------------------------- (802) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (803) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (804) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (805) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))))) ---------------------------------------- (806) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (807) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (808) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (809) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (810) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (811) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (812) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (813) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (814) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (815) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (816) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (817) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (818) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (819) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (820) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (821) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (822) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (823) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (824) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (825) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (826) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (827) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) ---------------------------------------- (828) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (829) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (830) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (831) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (832) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (833) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (834) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (835) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (836) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (837) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (838) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 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'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (841) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (842) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (843) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (844) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (845) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (846) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (847) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (848) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (849) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (850) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (851) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (852) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (853) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (854) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (855) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) ---------------------------------------- (856) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (857) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (858) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (859) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) ---------------------------------------- (860) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (861) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (862) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (863) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (864) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (865) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (866) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (867) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (868) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 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'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (871) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (872) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (873) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (874) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (875) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (876) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (877) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (878) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (879) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (880) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (881) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (882) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (883) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (884) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (885) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) ---------------------------------------- (886) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (887) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (888) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (889) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))))) ---------------------------------------- (890) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (891) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (892) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (893) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (894) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (895) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (896) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (897) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (898) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (899) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (900) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (901) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (902) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (903) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 1 POL(Succ(x_1)) = 1 POL(Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = x_2 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = x_3 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primMinusNatS2(x_1, x_2)) = 0 POL(new_primModNatS01(x_1, x_2)) = 1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 1 POL(new_primModNatS1(x_1, x_2)) = x_2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Zero, vuz15500) -> Zero ---------------------------------------- (904) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (905) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = 1 + x_1 POL(Pos(x_1)) = 1 + x_1 POL(Succ(x_1)) = 1 POL(Zero) = 0 POL(new_gcd0Gcd'(x_1, x_2)) = x_2 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 1 + x_1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primMinusNatS2(x_1, x_2)) = 0 POL(new_primModNatS01(x_1, x_2)) = 1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 1 POL(new_primModNatS1(x_1, x_2)) = x_2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Zero, vuz15500) -> Zero ---------------------------------------- (906) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (907) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (908) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (909) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) the following chains were created: *We consider the chain new_gcd0Gcd'(x2, Pos(Succ(x3))) -> new_gcd0Gcd'1(False, x2, Pos(Succ(x3))), new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x4)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x4))), Pos(Succ(Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x2, Pos(Succ(x3)))=new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x4)))) ==> new_gcd0Gcd'(x2, Pos(Succ(x3)))_>=_new_gcd0Gcd'1(False, x2, Pos(Succ(x3)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x4))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x4))))) *We consider the chain new_gcd0Gcd'(x5, Pos(Succ(x6))) -> new_gcd0Gcd'1(False, x5, Pos(Succ(x6))), new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x7)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x7))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x5, Pos(Succ(x6)))=new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x7)))) ==> new_gcd0Gcd'(x5, Pos(Succ(x6)))_>=_new_gcd0Gcd'1(False, x5, Pos(Succ(x6)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x7))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x7))))) *We consider the chain new_gcd0Gcd'(x38, Pos(Succ(x39))) -> new_gcd0Gcd'1(False, x38, Pos(Succ(x39))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x40))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x40)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x38, Pos(Succ(x39)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x40))))) ==> new_gcd0Gcd'(x38, Pos(Succ(x39)))_>=_new_gcd0Gcd'1(False, x38, Pos(Succ(x39)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x40)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x40)))))) *We consider the chain new_gcd0Gcd'(x41, Pos(Succ(x42))) -> new_gcd0Gcd'1(False, x41, Pos(Succ(x42))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x43))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x43)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x41, Pos(Succ(x42)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x43))))) ==> new_gcd0Gcd'(x41, Pos(Succ(x42)))_>=_new_gcd0Gcd'1(False, x41, Pos(Succ(x42)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x43)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x43)))))) *We consider the chain new_gcd0Gcd'(x44, Pos(Succ(x45))) -> new_gcd0Gcd'1(False, x44, Pos(Succ(x45))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x47)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x47))))), Pos(new_primModNatS02(Succ(Succ(x46)), Succ(Succ(x47)), x46, x47))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x44, Pos(Succ(x45)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x47)))))) ==> new_gcd0Gcd'(x44, Pos(Succ(x45)))_>=_new_gcd0Gcd'1(False, x44, Pos(Succ(x45)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x47))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x47))))))) *We consider the chain new_gcd0Gcd'(x48, Pos(Succ(x49))) -> new_gcd0Gcd'1(False, x48, Pos(Succ(x49))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x50)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x50))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x48, Pos(Succ(x49)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x50)))))) ==> new_gcd0Gcd'(x48, Pos(Succ(x49)))_>=_new_gcd0Gcd'1(False, x48, Pos(Succ(x49)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x50))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x50))))))) *We consider the chain new_gcd0Gcd'(x51, Pos(Succ(x52))) -> new_gcd0Gcd'1(False, x51, Pos(Succ(x52))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x53), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x51, Pos(Succ(x52)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'(x51, Pos(Succ(x52)))_>=_new_gcd0Gcd'1(False, x51, Pos(Succ(x52)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'(x54, Pos(Succ(x55))) -> new_gcd0Gcd'1(False, x54, Pos(Succ(x55))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x54, Pos(Succ(x55)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x54, Pos(Succ(x55)))_>=_new_gcd0Gcd'1(False, x54, Pos(Succ(x55)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) *We consider the chain new_gcd0Gcd'(x56, Pos(Succ(x57))) -> new_gcd0Gcd'1(False, x56, Pos(Succ(x57))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x58, Zero, x58, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x56, Pos(Succ(x57)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x56, Pos(Succ(x57)))_>=_new_gcd0Gcd'1(False, x56, Pos(Succ(x57)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Zero))))) *We consider the chain new_gcd0Gcd'(x59, Pos(Succ(x60))) -> new_gcd0Gcd'1(False, x59, Pos(Succ(x60))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x62)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x62))))), Neg(new_primModNatS02(Succ(Succ(x61)), Succ(Succ(x62)), x61, x62))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x59, Pos(Succ(x60)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x62)))))) ==> new_gcd0Gcd'(x59, Pos(Succ(x60)))_>=_new_gcd0Gcd'1(False, x59, Pos(Succ(x60)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x62))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x62))))))) *We consider the chain new_gcd0Gcd'(x63, Pos(Succ(x64))) -> new_gcd0Gcd'1(False, x63, Pos(Succ(x64))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x65)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x65))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x63, Pos(Succ(x64)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x65)))))) ==> new_gcd0Gcd'(x63, Pos(Succ(x64)))_>=_new_gcd0Gcd'1(False, x63, Pos(Succ(x64)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x65))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x65))))))) *We consider the chain new_gcd0Gcd'(x66, Pos(Succ(x67))) -> new_gcd0Gcd'1(False, x66, Pos(Succ(x67))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x68))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x68), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x66, Pos(Succ(x67)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x68))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'(x66, Pos(Succ(x67)))_>=_new_gcd0Gcd'1(False, x66, Pos(Succ(x67)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x68))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x68))))), Pos(Succ(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'(x69, Pos(Succ(x70))) -> new_gcd0Gcd'1(False, x69, Pos(Succ(x70))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x69, Pos(Succ(x70)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x69, Pos(Succ(x70)))_>=_new_gcd0Gcd'1(False, x69, Pos(Succ(x70)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) *We consider the chain new_gcd0Gcd'(x71, Pos(Succ(x72))) -> new_gcd0Gcd'1(False, x71, Pos(Succ(x72))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x73, Zero, x73, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x71, Pos(Succ(x72)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x71, Pos(Succ(x72)))_>=_new_gcd0Gcd'1(False, x71, Pos(Succ(x72)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x74)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x74))), Pos(Succ(Zero))), new_gcd0Gcd'(x75, Pos(Succ(x76))) -> new_gcd0Gcd'1(False, x75, Pos(Succ(x76))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(x74))), Pos(Succ(Zero)))=new_gcd0Gcd'(x75, Pos(Succ(x76))) ==> new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x74))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x74))), Pos(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x74))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x74))), Pos(Succ(Zero)))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x109)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x109))), Neg(Succ(Zero))), new_gcd0Gcd'(x110, Neg(Succ(x111))) -> new_gcd0Gcd'1(False, x110, Neg(Succ(x111))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(x109))), Neg(Succ(Zero)))=new_gcd0Gcd'(x110, Neg(Succ(x111))) ==> new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x109))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x109))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x109))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x109))), Neg(Succ(Zero)))) For Pair new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) the following chains were created: *We consider the chain new_gcd0Gcd'(x146, Neg(Succ(x147))) -> new_gcd0Gcd'1(False, x146, Neg(Succ(x147))), new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x148)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x148))), Pos(Succ(Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x146, Neg(Succ(x147)))=new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x148)))) ==> new_gcd0Gcd'(x146, Neg(Succ(x147)))_>=_new_gcd0Gcd'1(False, x146, Neg(Succ(x147)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x148))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x148))))) *We consider the chain new_gcd0Gcd'(x149, Neg(Succ(x150))) -> new_gcd0Gcd'1(False, x149, Neg(Succ(x150))), new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x151)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x151))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x149, Neg(Succ(x150)))=new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x151)))) ==> new_gcd0Gcd'(x149, Neg(Succ(x150)))_>=_new_gcd0Gcd'1(False, x149, Neg(Succ(x150)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x151))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x151))))) *We consider the chain new_gcd0Gcd'(x152, Neg(Succ(x153))) -> new_gcd0Gcd'1(False, x152, Neg(Succ(x153))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x154))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x154)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x152, Neg(Succ(x153)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x154))))) ==> new_gcd0Gcd'(x152, Neg(Succ(x153)))_>=_new_gcd0Gcd'1(False, x152, Neg(Succ(x153)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x154)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x154)))))) *We consider the chain new_gcd0Gcd'(x155, Neg(Succ(x156))) -> new_gcd0Gcd'1(False, x155, Neg(Succ(x156))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x157))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x157)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x155, Neg(Succ(x156)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x157))))) ==> new_gcd0Gcd'(x155, Neg(Succ(x156)))_>=_new_gcd0Gcd'1(False, x155, Neg(Succ(x156)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x157)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x157)))))) *We consider the chain new_gcd0Gcd'(x158, Neg(Succ(x159))) -> new_gcd0Gcd'1(False, x158, Neg(Succ(x159))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(x161)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x161))))), Pos(new_primModNatS02(Succ(Succ(x160)), Succ(Succ(x161)), x160, x161))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x158, Neg(Succ(x159)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(x161)))))) ==> new_gcd0Gcd'(x158, Neg(Succ(x159)))_>=_new_gcd0Gcd'1(False, x158, Neg(Succ(x159)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(x161))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(x161))))))) *We consider the chain new_gcd0Gcd'(x162, Neg(Succ(x163))) -> new_gcd0Gcd'1(False, x162, Neg(Succ(x163))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x164)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x164))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x162, Neg(Succ(x163)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x164)))))) ==> new_gcd0Gcd'(x162, Neg(Succ(x163)))_>=_new_gcd0Gcd'1(False, x162, Neg(Succ(x163)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x164))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x164))))))) *We consider the chain new_gcd0Gcd'(x165, Neg(Succ(x166))) -> new_gcd0Gcd'1(False, x165, Neg(Succ(x166))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x167))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x167), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x165, Neg(Succ(x166)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x167))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'(x165, Neg(Succ(x166)))_>=_new_gcd0Gcd'1(False, x165, Neg(Succ(x166)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x167))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x167))))), Neg(Succ(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'(x168, Neg(Succ(x169))) -> new_gcd0Gcd'1(False, x168, Neg(Succ(x169))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x168, Neg(Succ(x169)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x168, Neg(Succ(x169)))_>=_new_gcd0Gcd'1(False, x168, Neg(Succ(x169)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) *We consider the chain new_gcd0Gcd'(x170, Neg(Succ(x171))) -> new_gcd0Gcd'1(False, x170, Neg(Succ(x171))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x172))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x172, Zero, x172, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x170, Neg(Succ(x171)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x172))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x170, Neg(Succ(x171)))_>=_new_gcd0Gcd'1(False, x170, Neg(Succ(x171)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x172))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x172))))), Neg(Succ(Succ(Zero))))) *We consider the chain new_gcd0Gcd'(x173, Neg(Succ(x174))) -> new_gcd0Gcd'1(False, x173, Neg(Succ(x174))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x176))))), Neg(new_primModNatS02(Succ(Succ(x175)), Succ(Succ(x176)), x175, x176))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x173, Neg(Succ(x174)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176)))))) ==> new_gcd0Gcd'(x173, Neg(Succ(x174)))_>=_new_gcd0Gcd'1(False, x173, Neg(Succ(x174)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176))))))) *We consider the chain new_gcd0Gcd'(x177, Neg(Succ(x178))) -> new_gcd0Gcd'1(False, x177, Neg(Succ(x178))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x179)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x179))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x177, Neg(Succ(x178)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x179)))))) ==> new_gcd0Gcd'(x177, Neg(Succ(x178)))_>=_new_gcd0Gcd'1(False, x177, Neg(Succ(x178)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x179))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x179))))))) *We consider the chain new_gcd0Gcd'(x180, Neg(Succ(x181))) -> new_gcd0Gcd'1(False, x180, Neg(Succ(x181))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x182), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x180, Neg(Succ(x181)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'(x180, Neg(Succ(x181)))_>=_new_gcd0Gcd'1(False, x180, Neg(Succ(x181)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Zero)))))) *We consider the chain new_gcd0Gcd'(x183, Neg(Succ(x184))) -> new_gcd0Gcd'1(False, x183, Neg(Succ(x184))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x183, Neg(Succ(x184)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x183, Neg(Succ(x184)))_>=_new_gcd0Gcd'1(False, x183, Neg(Succ(x184)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) *We consider the chain new_gcd0Gcd'(x185, Neg(Succ(x186))) -> new_gcd0Gcd'1(False, x185, Neg(Succ(x186))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x187))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x187, Zero, x187, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, x185, Neg(Succ(x186)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x187))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x185, Neg(Succ(x186)))_>=_new_gcd0Gcd'1(False, x185, Neg(Succ(x186)))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x187))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x187))))), Neg(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x212)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x212))), Pos(Succ(Zero))), new_gcd0Gcd'(x213, Pos(Succ(x214))) -> new_gcd0Gcd'1(False, x213, Pos(Succ(x214))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(x212))), Pos(Succ(Zero)))=new_gcd0Gcd'(x213, Pos(Succ(x214))) ==> new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x212))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x212))), Pos(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x212))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x212))), Pos(Succ(Zero)))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x247)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x247))), Neg(Succ(Zero))), new_gcd0Gcd'(x248, Neg(Succ(x249))) -> new_gcd0Gcd'1(False, x248, Neg(Succ(x249))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(x247))), Neg(Succ(Zero)))=new_gcd0Gcd'(x248, Neg(Succ(x249))) ==> new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x247))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x247))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x247))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x247))), Neg(Succ(Zero)))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x276))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x276)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'(x277, Pos(Succ(x278))) -> new_gcd0Gcd'1(False, x277, Pos(Succ(x278))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x276)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'(x277, Pos(Succ(x278))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x276)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x276)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x276)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x276)))), Pos(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x311))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x311)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'(x312, Neg(Succ(x313))) -> new_gcd0Gcd'1(False, x312, Neg(Succ(x313))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x311)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'(x312, Neg(Succ(x313))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x311)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x311)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x311)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x311)))), Neg(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x340))))), Neg(Succ(Succ(Succ(Succ(x341)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x341))))), Pos(new_primModNatS02(Succ(Succ(x340)), Succ(Succ(x341)), x340, x341))), new_gcd0Gcd'(x342, Pos(Succ(x343))) -> new_gcd0Gcd'1(False, x342, Pos(Succ(x343))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x341))))), Pos(new_primModNatS02(Succ(Succ(x340)), Succ(Succ(x341)), x340, x341)))=new_gcd0Gcd'(x342, Pos(Succ(x343))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x340))))), Neg(Succ(Succ(Succ(Succ(x341))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x341))))), Pos(new_primModNatS02(Succ(Succ(x340)), Succ(Succ(x341)), x340, x341)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x340))=x1044 & Succ(Succ(x341))=x1045 & new_primModNatS02(x1044, x1045, x340, x341)=Succ(x343) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x340))))), Neg(Succ(Succ(Succ(Succ(x341))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x341))))), Pos(new_primModNatS02(Succ(Succ(x340)), Succ(Succ(x341)), x340, x341)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1044, x1045, x340, x341)=Succ(x343) which results in the following new constraints: (3) (new_primModNatS01(x1048, x1047)=Succ(x343) & Succ(Succ(Succ(x1046)))=x1048 & Succ(Succ(Zero))=x1047 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1046)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1046))), Succ(Succ(Zero)), Succ(x1046), Zero)))) (4) (new_primModNatS02(x1052, x1051, x1050, x1049)=Succ(x343) & Succ(Succ(Succ(x1050)))=x1052 & Succ(Succ(Succ(x1049)))=x1051 & (\/x1053:new_primModNatS02(x1052, x1051, x1050, x1049)=Succ(x1053) & Succ(Succ(x1050))=x1052 & Succ(Succ(x1049))=x1051 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1050))))), Neg(Succ(Succ(Succ(Succ(x1049))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x1049))))), Pos(new_primModNatS02(Succ(Succ(x1050)), Succ(Succ(x1049)), x1050, x1049)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1050)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1049)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1049)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1050))), Succ(Succ(Succ(x1049))), Succ(x1050), Succ(x1049))))) (5) (new_primModNatS01(x1055, x1054)=Succ(x343) & Succ(Succ(Zero))=x1055 & Succ(Succ(Zero))=x1054 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x1058))=Succ(x343) & Succ(Succ(Zero))=x1058 & Succ(Succ(Succ(x1056)))=x1057 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1056)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1056)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1056))), Zero, Succ(x1056))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1048, x1047)=Succ(x343) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x1060), Succ(x1059)), Succ(x1059))=Succ(x343) & Succ(Succ(Succ(x1046)))=x1060 & Succ(Succ(Zero))=x1059 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1046)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1046))), Succ(Succ(Zero)), Succ(x1046), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x1052, x1051, x1050, x1049)=Succ(x343) & Succ(Succ(Succ(x1050)))=x1052 & Succ(Succ(Succ(x1049)))=x1051 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1050)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1049)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1049)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1050))), Succ(Succ(Succ(x1049))), Succ(x1050), Succ(x1049))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1055, x1054)=Succ(x343) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1079), Succ(x1078)), Succ(x1078))=Succ(x343) & Succ(Succ(Zero))=x1079 & Succ(Succ(Zero))=x1078 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1056)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1056)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1056))), Zero, Succ(x1056))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1046)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1046))), Succ(Succ(Zero)), Succ(x1046), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1052, x1051, x1050, x1049)=Succ(x343) which results in the following new constraints: (12) (new_primModNatS01(x1067, x1066)=Succ(x343) & Succ(Succ(Succ(Succ(x1065))))=x1067 & Succ(Succ(Succ(Zero)))=x1066 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1065))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1065)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1065)), Succ(Zero))))) (13) (new_primModNatS02(x1071, x1070, x1069, x1068)=Succ(x343) & Succ(Succ(Succ(Succ(x1069))))=x1071 & Succ(Succ(Succ(Succ(x1068))))=x1070 & (\/x1072:new_primModNatS02(x1071, x1070, x1069, x1068)=Succ(x1072) & Succ(Succ(Succ(x1069)))=x1071 & Succ(Succ(Succ(x1068)))=x1070 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1069)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1068)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1068)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1069))), Succ(Succ(Succ(x1068))), Succ(x1069), Succ(x1068))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1069))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1069)))), Succ(Succ(Succ(Succ(x1068)))), Succ(Succ(x1069)), Succ(Succ(x1068)))))) (14) (new_primModNatS01(x1074, x1073)=Succ(x343) & Succ(Succ(Succ(Zero)))=x1074 & Succ(Succ(Succ(Zero)))=x1073 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x1077))=Succ(x343) & Succ(Succ(Succ(Zero)))=x1077 & Succ(Succ(Succ(Succ(x1075))))=x1076 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1075))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1075))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1075)))), Succ(Zero), Succ(Succ(x1075)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1065))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1065)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1065)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1069))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1069)))), Succ(Succ(Succ(Succ(x1068)))), Succ(Succ(x1069)), Succ(Succ(x1068)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1075))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1075))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1075)))), Succ(Zero), Succ(Succ(x1075)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x402)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x402))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'(x403, Pos(Succ(x404))) -> new_gcd0Gcd'1(False, x403, Pos(Succ(x404))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x402))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'(x403, Pos(Succ(x404))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x402))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x402))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x402))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x402))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero))))), new_gcd0Gcd'(x435, Pos(Succ(x436))) -> new_gcd0Gcd'1(False, x435, Pos(Succ(x436))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))=new_gcd0Gcd'(x435, Pos(Succ(x436))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x434)=x1084 & Succ(Succ(Zero))=x1085 & new_primModNatS1(x1084, x1085)=Succ(x436) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1084, x1085)=Succ(x436) which results in the following new constraints: (3) (Succ(Zero)=Succ(x436) & Succ(x434)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1086) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))) (4) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x436) & Succ(x434)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))) (5) (new_primModNatS1(new_primMinusNatS0(x1088), Zero)=Succ(x436) & Succ(x434)=Succ(Succ(x1088)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))) (6) (new_primModNatS02(x1090, x1089, x1090, x1089)=Succ(x436) & Succ(x434)=Succ(Succ(x1090)) & Succ(Succ(Zero))=Succ(x1089) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (IV) which results in the following new constraint: (7) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (x1090=x1091 & x1089=x1092 & new_primModNatS02(x1090, x1089, x1091, x1092)=Succ(x436) & Succ(Zero)=x1089 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1090)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1090)), Succ(Succ(Zero)))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1090, x1089, x1091, x1092)=Succ(x436) which results in the following new constraints: (9) (new_primModNatS01(x1095, x1094)=Succ(x436) & x1095=Succ(x1093) & x1094=Zero & Succ(Zero)=x1094 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1095)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1095)), Succ(Succ(Zero)))))) (10) (new_primModNatS02(x1099, x1098, x1097, x1096)=Succ(x436) & x1099=Succ(x1097) & x1098=Succ(x1096) & Succ(Zero)=x1098 & (\/x1100:new_primModNatS02(x1099, x1098, x1097, x1096)=Succ(x1100) & x1099=x1097 & x1098=x1096 & Succ(Zero)=x1098 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1099)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1099)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1099)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1099)), Succ(Succ(Zero)))))) (11) (new_primModNatS01(x1102, x1101)=Succ(x436) & x1102=Zero & x1101=Zero & Succ(Zero)=x1101 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1102)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1102)), Succ(Succ(Zero)))))) (12) (Succ(Succ(x1105))=Succ(x436) & x1105=Zero & x1104=Succ(x1103) & Succ(Zero)=x1104 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1105)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1105)), Succ(Succ(Zero)))))) 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'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1097))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1097))), Succ(Succ(Zero)))))) 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'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), new_gcd0Gcd'(x466, Pos(Succ(x467))) -> new_gcd0Gcd'1(False, x466, Pos(Succ(x467))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_gcd0Gcd'(x466, Pos(Succ(x467))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x468))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x468, Zero, x468, Zero))), new_gcd0Gcd'(x469, Pos(Succ(x470))) -> new_gcd0Gcd'1(False, x469, Pos(Succ(x470))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x468, Zero, x468, Zero)))=new_gcd0Gcd'(x469, Pos(Succ(x470))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x468))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x468, Zero, x468, Zero)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x1108 & x468=x1109 & Zero=x1110 & new_primModNatS02(x468, x1108, x1109, x1110)=Succ(x470) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x468))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x468, Zero, x468, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x468, x1108, x1109, x1110)=Succ(x470) which results in the following new constraints: (3) (new_primModNatS01(x1113, x1112)=Succ(x470) & Zero=x1112 & x1113=Succ(x1111) & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1113))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1113, Zero, x1113, Zero)))) (4) (new_primModNatS02(x1117, x1116, x1115, x1114)=Succ(x470) & Zero=x1116 & x1117=Succ(x1115) & Zero=Succ(x1114) & (\/x1118:new_primModNatS02(x1117, x1116, x1115, x1114)=Succ(x1118) & Zero=x1116 & x1117=x1115 & Zero=x1114 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1117))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1117, Zero, x1117, Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1117))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1117, Zero, x1117, Zero)))) (5) (new_primModNatS01(x1120, x1119)=Succ(x470) & Zero=x1119 & x1120=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1120))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1120, Zero, x1120, Zero)))) (6) (Succ(Succ(x1123))=Succ(x470) & Zero=x1122 & x1123=Zero & Zero=Succ(x1121) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1123))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1123, Zero, x1123, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Succ(x1111)=x1124 & new_primModNatS01(x1124, x1112)=Succ(x470) & Zero=x1112 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1111)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1111), Zero, Succ(x1111), Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Zero=x1131 & new_primModNatS01(x1131, x1119)=Succ(x470) & Zero=x1119 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1124, x1112)=Succ(x470) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1126), Succ(x1125)), Succ(x1125))=Succ(x470) & Succ(x1111)=x1126 & Zero=x1125 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1111)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1111), Zero, Succ(x1111), Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1111)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1111), Zero, Succ(x1111), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1131, x1119)=Succ(x470) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x1133), Succ(x1132)), Succ(x1132))=Succ(x470) & Zero=x1133 & Zero=x1132 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x506))))), Neg(Succ(Succ(Succ(Succ(x507)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x507))))), Neg(new_primModNatS02(Succ(Succ(x506)), Succ(Succ(x507)), x506, x507))), new_gcd0Gcd'(x508, Neg(Succ(x509))) -> new_gcd0Gcd'1(False, x508, Neg(Succ(x509))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x507))))), Neg(new_primModNatS02(Succ(Succ(x506)), Succ(Succ(x507)), x506, x507)))=new_gcd0Gcd'(x508, Neg(Succ(x509))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x506))))), Neg(Succ(Succ(Succ(Succ(x507))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x507))))), Neg(new_primModNatS02(Succ(Succ(x506)), Succ(Succ(x507)), x506, x507)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x506))=x1138 & Succ(Succ(x507))=x1139 & new_primModNatS02(x1138, x1139, x506, x507)=Succ(x509) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x506))))), Neg(Succ(Succ(Succ(Succ(x507))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x507))))), Neg(new_primModNatS02(Succ(Succ(x506)), Succ(Succ(x507)), x506, x507)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1138, x1139, x506, x507)=Succ(x509) which results in the following new constraints: (3) (new_primModNatS01(x1142, x1141)=Succ(x509) & Succ(Succ(Succ(x1140)))=x1142 & Succ(Succ(Zero))=x1141 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1140)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1140))), Succ(Succ(Zero)), Succ(x1140), Zero)))) (4) (new_primModNatS02(x1146, x1145, x1144, x1143)=Succ(x509) & Succ(Succ(Succ(x1144)))=x1146 & Succ(Succ(Succ(x1143)))=x1145 & (\/x1147:new_primModNatS02(x1146, x1145, x1144, x1143)=Succ(x1147) & Succ(Succ(x1144))=x1146 & Succ(Succ(x1143))=x1145 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1144))))), Neg(Succ(Succ(Succ(Succ(x1143))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x1143))))), Neg(new_primModNatS02(Succ(Succ(x1144)), Succ(Succ(x1143)), x1144, x1143)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1144)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1143)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1143)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1144))), Succ(Succ(Succ(x1143))), Succ(x1144), Succ(x1143))))) (5) (new_primModNatS01(x1149, x1148)=Succ(x509) & Succ(Succ(Zero))=x1149 & Succ(Succ(Zero))=x1148 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x1152))=Succ(x509) & Succ(Succ(Zero))=x1152 & Succ(Succ(Succ(x1150)))=x1151 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1150)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1150)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1150))), Zero, Succ(x1150))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1142, x1141)=Succ(x509) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x1154), Succ(x1153)), Succ(x1153))=Succ(x509) & Succ(Succ(Succ(x1140)))=x1154 & Succ(Succ(Zero))=x1153 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1140)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1140))), Succ(Succ(Zero)), Succ(x1140), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x1146, x1145, x1144, x1143)=Succ(x509) & Succ(Succ(Succ(x1144)))=x1146 & Succ(Succ(Succ(x1143)))=x1145 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1144)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1143)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1143)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1144))), Succ(Succ(Succ(x1143))), Succ(x1144), Succ(x1143))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1149, x1148)=Succ(x509) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1173), Succ(x1172)), Succ(x1172))=Succ(x509) & Succ(Succ(Zero))=x1173 & Succ(Succ(Zero))=x1172 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1150)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1150)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1150))), Zero, Succ(x1150))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1140)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1140))), Succ(Succ(Zero)), Succ(x1140), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1146, x1145, x1144, x1143)=Succ(x509) which results in the following new constraints: (12) (new_primModNatS01(x1161, x1160)=Succ(x509) & Succ(Succ(Succ(Succ(x1159))))=x1161 & Succ(Succ(Succ(Zero)))=x1160 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1159))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1159)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1159)), Succ(Zero))))) (13) (new_primModNatS02(x1165, x1164, x1163, x1162)=Succ(x509) & Succ(Succ(Succ(Succ(x1163))))=x1165 & Succ(Succ(Succ(Succ(x1162))))=x1164 & (\/x1166:new_primModNatS02(x1165, x1164, x1163, x1162)=Succ(x1166) & Succ(Succ(Succ(x1163)))=x1165 & Succ(Succ(Succ(x1162)))=x1164 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1163)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1162)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1162)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1163))), Succ(Succ(Succ(x1162))), Succ(x1163), Succ(x1162))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1163))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1162))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1162))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1163)))), Succ(Succ(Succ(Succ(x1162)))), Succ(Succ(x1163)), Succ(Succ(x1162)))))) (14) (new_primModNatS01(x1168, x1167)=Succ(x509) & Succ(Succ(Succ(Zero)))=x1168 & Succ(Succ(Succ(Zero)))=x1167 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x1171))=Succ(x509) & Succ(Succ(Succ(Zero)))=x1171 & Succ(Succ(Succ(Succ(x1169))))=x1170 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1169))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1169))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1169)))), Succ(Zero), Succ(Succ(x1169)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1159))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1159)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1159)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1163))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1162))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1162))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1163)))), Succ(Succ(Succ(Succ(x1162)))), Succ(Succ(x1163)), Succ(Succ(x1162)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1169))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1169))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1169)))), Succ(Zero), Succ(Succ(x1169)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x565)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x565))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'(x566, Neg(Succ(x567))) -> new_gcd0Gcd'1(False, x566, Neg(Succ(x567))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x565))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'(x566, Neg(Succ(x567))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x565))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x565))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x565))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x565))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero))))), new_gcd0Gcd'(x598, Neg(Succ(x599))) -> new_gcd0Gcd'1(False, x598, Neg(Succ(x599))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))=new_gcd0Gcd'(x598, Neg(Succ(x599))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x597)=x1178 & Succ(Succ(Zero))=x1179 & new_primModNatS1(x1178, x1179)=Succ(x599) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1178, x1179)=Succ(x599) which results in the following new constraints: (3) (Succ(Zero)=Succ(x599) & Succ(x597)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1180) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))) (4) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x599) & Succ(x597)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))) (5) (new_primModNatS1(new_primMinusNatS0(x1182), Zero)=Succ(x599) & Succ(x597)=Succ(Succ(x1182)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))) (6) (new_primModNatS02(x1184, x1183, x1184, x1183)=Succ(x599) & Succ(x597)=Succ(Succ(x1184)) & Succ(Succ(Zero))=Succ(x1183) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (IV) which results in the following new constraint: (7) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (x1184=x1185 & x1183=x1186 & new_primModNatS02(x1184, x1183, x1185, x1186)=Succ(x599) & Succ(Zero)=x1183 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1184)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1184)), Succ(Succ(Zero)))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1184, x1183, x1185, x1186)=Succ(x599) which results in the following new constraints: (9) (new_primModNatS01(x1189, x1188)=Succ(x599) & x1189=Succ(x1187) & x1188=Zero & Succ(Zero)=x1188 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1189)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1189)), Succ(Succ(Zero)))))) (10) (new_primModNatS02(x1193, x1192, x1191, x1190)=Succ(x599) & x1193=Succ(x1191) & x1192=Succ(x1190) & Succ(Zero)=x1192 & (\/x1194:new_primModNatS02(x1193, x1192, x1191, x1190)=Succ(x1194) & x1193=x1191 & x1192=x1190 & Succ(Zero)=x1192 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1193)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1193)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1193)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1193)), Succ(Succ(Zero)))))) (11) (new_primModNatS01(x1196, x1195)=Succ(x599) & x1196=Zero & x1195=Zero & Succ(Zero)=x1195 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1196)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1196)), Succ(Succ(Zero)))))) (12) (Succ(Succ(x1199))=Succ(x599) & x1199=Zero & x1198=Succ(x1197) & Succ(Zero)=x1198 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1199)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1199)), Succ(Succ(Zero)))))) 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'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1191))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x1191))), Succ(Succ(Zero)))))) 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'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), new_gcd0Gcd'(x626, Neg(Succ(x627))) -> new_gcd0Gcd'1(False, x626, Neg(Succ(x627))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_gcd0Gcd'(x626, Neg(Succ(x627))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x631))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x631, Zero, x631, Zero))), new_gcd0Gcd'(x632, Neg(Succ(x633))) -> new_gcd0Gcd'1(False, x632, Neg(Succ(x633))) which results in the following constraint: (1) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x631, Zero, x631, Zero)))=new_gcd0Gcd'(x632, Neg(Succ(x633))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x631))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x631, Zero, x631, Zero)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x1202 & x631=x1203 & Zero=x1204 & new_primModNatS02(x631, x1202, x1203, x1204)=Succ(x633) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x631))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x631, Zero, x631, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x631, x1202, x1203, x1204)=Succ(x633) which results in the following new constraints: (3) (new_primModNatS01(x1207, x1206)=Succ(x633) & Zero=x1206 & x1207=Succ(x1205) & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1207))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1207, Zero, x1207, Zero)))) (4) (new_primModNatS02(x1211, x1210, x1209, x1208)=Succ(x633) & Zero=x1210 & x1211=Succ(x1209) & Zero=Succ(x1208) & (\/x1212:new_primModNatS02(x1211, x1210, x1209, x1208)=Succ(x1212) & Zero=x1210 & x1211=x1209 & Zero=x1208 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1211))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1211, Zero, x1211, Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1211))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1211, Zero, x1211, Zero)))) (5) (new_primModNatS01(x1214, x1213)=Succ(x633) & Zero=x1213 & x1214=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1214))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1214, Zero, x1214, Zero)))) (6) (Succ(Succ(x1217))=Succ(x633) & Zero=x1216 & x1217=Zero & Zero=Succ(x1215) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1217))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1217, Zero, x1217, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Succ(x1205)=x1218 & new_primModNatS01(x1218, x1206)=Succ(x633) & Zero=x1206 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1205)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1205), Zero, Succ(x1205), Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Zero=x1225 & new_primModNatS01(x1225, x1213)=Succ(x633) & Zero=x1213 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1218, x1206)=Succ(x633) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1220), Succ(x1219)), Succ(x1219))=Succ(x633) & Succ(x1205)=x1220 & Zero=x1219 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1205)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1205), Zero, Succ(x1205), Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1205)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1205), Zero, Succ(x1205), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1225, x1213)=Succ(x633) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x1227), Succ(x1226)), Succ(x1226))=Succ(x633) & Zero=x1227 & Zero=x1226 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x660))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x660)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'(x661, Pos(Succ(x662))) -> new_gcd0Gcd'1(False, x661, Pos(Succ(x662))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x660)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'(x661, Pos(Succ(x662))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x660)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x660)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x660)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x660)))), Pos(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x695))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x695)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'(x696, Neg(Succ(x697))) -> new_gcd0Gcd'1(False, x696, Neg(Succ(x697))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x695)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'(x696, Neg(Succ(x697))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x695)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x695)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x695)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x695)))), Neg(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x724))))), Pos(Succ(Succ(Succ(Succ(x725)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x725))))), Pos(new_primModNatS02(Succ(Succ(x724)), Succ(Succ(x725)), x724, x725))), new_gcd0Gcd'(x726, Pos(Succ(x727))) -> new_gcd0Gcd'1(False, x726, Pos(Succ(x727))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x725))))), Pos(new_primModNatS02(Succ(Succ(x724)), Succ(Succ(x725)), x724, x725)))=new_gcd0Gcd'(x726, Pos(Succ(x727))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x724))))), Pos(Succ(Succ(Succ(Succ(x725))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x725))))), Pos(new_primModNatS02(Succ(Succ(x724)), Succ(Succ(x725)), x724, x725)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x724))=x1232 & Succ(Succ(x725))=x1233 & new_primModNatS02(x1232, x1233, x724, x725)=Succ(x727) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x724))))), Pos(Succ(Succ(Succ(Succ(x725))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x725))))), Pos(new_primModNatS02(Succ(Succ(x724)), Succ(Succ(x725)), x724, x725)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1232, x1233, x724, x725)=Succ(x727) which results in the following new constraints: (3) (new_primModNatS01(x1236, x1235)=Succ(x727) & Succ(Succ(Succ(x1234)))=x1236 & Succ(Succ(Zero))=x1235 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1234)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1234))), Succ(Succ(Zero)), Succ(x1234), Zero)))) (4) (new_primModNatS02(x1240, x1239, x1238, x1237)=Succ(x727) & Succ(Succ(Succ(x1238)))=x1240 & Succ(Succ(Succ(x1237)))=x1239 & (\/x1241:new_primModNatS02(x1240, x1239, x1238, x1237)=Succ(x1241) & Succ(Succ(x1238))=x1240 & Succ(Succ(x1237))=x1239 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1238))))), Pos(Succ(Succ(Succ(Succ(x1237))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x1237))))), Pos(new_primModNatS02(Succ(Succ(x1238)), Succ(Succ(x1237)), x1238, x1237)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1238)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1237)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1237)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1238))), Succ(Succ(Succ(x1237))), Succ(x1238), Succ(x1237))))) (5) (new_primModNatS01(x1243, x1242)=Succ(x727) & Succ(Succ(Zero))=x1243 & Succ(Succ(Zero))=x1242 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x1246))=Succ(x727) & Succ(Succ(Zero))=x1246 & Succ(Succ(Succ(x1244)))=x1245 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1244))), Zero, Succ(x1244))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1236, x1235)=Succ(x727) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x1248), Succ(x1247)), Succ(x1247))=Succ(x727) & Succ(Succ(Succ(x1234)))=x1248 & Succ(Succ(Zero))=x1247 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1234)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1234))), Succ(Succ(Zero)), Succ(x1234), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x1240, x1239, x1238, x1237)=Succ(x727) & Succ(Succ(Succ(x1238)))=x1240 & Succ(Succ(Succ(x1237)))=x1239 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1238)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1237)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1237)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1238))), Succ(Succ(Succ(x1237))), Succ(x1238), Succ(x1237))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1243, x1242)=Succ(x727) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1267), Succ(x1266)), Succ(x1266))=Succ(x727) & Succ(Succ(Zero))=x1267 & Succ(Succ(Zero))=x1266 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1244))), Zero, Succ(x1244))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1234)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1234))), Succ(Succ(Zero)), Succ(x1234), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1240, x1239, x1238, x1237)=Succ(x727) which results in the following new constraints: (12) (new_primModNatS01(x1255, x1254)=Succ(x727) & Succ(Succ(Succ(Succ(x1253))))=x1255 & Succ(Succ(Succ(Zero)))=x1254 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1253))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1253)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1253)), Succ(Zero))))) (13) (new_primModNatS02(x1259, x1258, x1257, x1256)=Succ(x727) & Succ(Succ(Succ(Succ(x1257))))=x1259 & Succ(Succ(Succ(Succ(x1256))))=x1258 & (\/x1260:new_primModNatS02(x1259, x1258, x1257, x1256)=Succ(x1260) & Succ(Succ(Succ(x1257)))=x1259 & Succ(Succ(Succ(x1256)))=x1258 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1257)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1256)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1256)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1257))), Succ(Succ(Succ(x1256))), Succ(x1257), Succ(x1256))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1257))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1256))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1256))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1257)))), Succ(Succ(Succ(Succ(x1256)))), Succ(Succ(x1257)), Succ(Succ(x1256)))))) (14) (new_primModNatS01(x1262, x1261)=Succ(x727) & Succ(Succ(Succ(Zero)))=x1262 & Succ(Succ(Succ(Zero)))=x1261 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x1265))=Succ(x727) & Succ(Succ(Succ(Zero)))=x1265 & Succ(Succ(Succ(Succ(x1263))))=x1264 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1263))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1263))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1263)))), Succ(Zero), Succ(Succ(x1263)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1253))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1253)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1253)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1257))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1256))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1256))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1257)))), Succ(Succ(Succ(Succ(x1256)))), Succ(Succ(x1257)), Succ(Succ(x1256)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1263))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1263))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1263)))), Succ(Zero), Succ(Succ(x1263)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x786)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x786))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'(x787, Pos(Succ(x788))) -> new_gcd0Gcd'1(False, x787, Pos(Succ(x788))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x786))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'(x787, Pos(Succ(x788))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x786))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x786))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x786))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x786))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero))))), new_gcd0Gcd'(x819, Pos(Succ(x820))) -> new_gcd0Gcd'1(False, x819, Pos(Succ(x820))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))=new_gcd0Gcd'(x819, Pos(Succ(x820))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x818)=x1272 & Succ(Succ(Zero))=x1273 & new_primModNatS1(x1272, x1273)=Succ(x820) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1272, x1273)=Succ(x820) which results in the following new constraints: (3) (Succ(Zero)=Succ(x820) & Succ(x818)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1274) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))) (4) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x820) & Succ(x818)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))) (5) (new_primModNatS1(new_primMinusNatS0(x1276), Zero)=Succ(x820) & Succ(x818)=Succ(Succ(x1276)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))) (6) (new_primModNatS02(x1278, x1277, x1278, x1277)=Succ(x820) & Succ(x818)=Succ(Succ(x1278)) & Succ(Succ(Zero))=Succ(x1277) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (IV) which results in the following new constraint: (7) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (x1278=x1279 & x1277=x1280 & new_primModNatS02(x1278, x1277, x1279, x1280)=Succ(x820) & Succ(Zero)=x1277 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1278)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1278)), Succ(Succ(Zero)))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1278, x1277, x1279, x1280)=Succ(x820) which results in the following new constraints: (9) (new_primModNatS01(x1283, x1282)=Succ(x820) & x1283=Succ(x1281) & x1282=Zero & Succ(Zero)=x1282 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1283)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1283)), Succ(Succ(Zero)))))) (10) (new_primModNatS02(x1287, x1286, x1285, x1284)=Succ(x820) & x1287=Succ(x1285) & x1286=Succ(x1284) & Succ(Zero)=x1286 & (\/x1288:new_primModNatS02(x1287, x1286, x1285, x1284)=Succ(x1288) & x1287=x1285 & x1286=x1284 & Succ(Zero)=x1286 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1287)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1287)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1287)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1287)), Succ(Succ(Zero)))))) (11) (new_primModNatS01(x1290, x1289)=Succ(x820) & x1290=Zero & x1289=Zero & Succ(Zero)=x1289 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1290)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1290)), Succ(Succ(Zero)))))) (12) (Succ(Succ(x1293))=Succ(x820) & x1293=Zero & x1292=Succ(x1291) & Succ(Zero)=x1292 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1293)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1293)), Succ(Succ(Zero)))))) 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'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1285))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1285))), Succ(Succ(Zero)))))) 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'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), new_gcd0Gcd'(x850, Pos(Succ(x851))) -> new_gcd0Gcd'1(False, x850, Pos(Succ(x851))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_gcd0Gcd'(x850, Pos(Succ(x851))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x852))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x852, Zero, x852, Zero))), new_gcd0Gcd'(x853, Pos(Succ(x854))) -> new_gcd0Gcd'1(False, x853, Pos(Succ(x854))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x852, Zero, x852, Zero)))=new_gcd0Gcd'(x853, Pos(Succ(x854))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x852))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x852, Zero, x852, Zero)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x1296 & x852=x1297 & Zero=x1298 & new_primModNatS02(x852, x1296, x1297, x1298)=Succ(x854) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x852))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x852, Zero, x852, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x852, x1296, x1297, x1298)=Succ(x854) which results in the following new constraints: (3) (new_primModNatS01(x1301, x1300)=Succ(x854) & Zero=x1300 & x1301=Succ(x1299) & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1301))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1301, Zero, x1301, Zero)))) (4) (new_primModNatS02(x1305, x1304, x1303, x1302)=Succ(x854) & Zero=x1304 & x1305=Succ(x1303) & Zero=Succ(x1302) & (\/x1306:new_primModNatS02(x1305, x1304, x1303, x1302)=Succ(x1306) & Zero=x1304 & x1305=x1303 & Zero=x1302 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1305))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1305, Zero, x1305, Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1305))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1305, Zero, x1305, Zero)))) (5) (new_primModNatS01(x1308, x1307)=Succ(x854) & Zero=x1307 & x1308=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1308))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1308, Zero, x1308, Zero)))) (6) (Succ(Succ(x1311))=Succ(x854) & Zero=x1310 & x1311=Zero & Zero=Succ(x1309) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1311))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1311, Zero, x1311, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Succ(x1299)=x1312 & new_primModNatS01(x1312, x1300)=Succ(x854) & Zero=x1300 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1299)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1299), Zero, Succ(x1299), Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Zero=x1319 & new_primModNatS01(x1319, x1307)=Succ(x854) & Zero=x1307 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1312, x1300)=Succ(x854) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1314), Succ(x1313)), Succ(x1313))=Succ(x854) & Succ(x1299)=x1314 & Zero=x1313 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1299)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1299), Zero, Succ(x1299), Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1299)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1299), Zero, Succ(x1299), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1319, x1307)=Succ(x854) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x1321), Succ(x1320)), Succ(x1320))=Succ(x854) & Zero=x1321 & Zero=x1320 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x890))))), Pos(Succ(Succ(Succ(Succ(x891)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x891))))), Neg(new_primModNatS02(Succ(Succ(x890)), Succ(Succ(x891)), x890, x891))), new_gcd0Gcd'(x892, Neg(Succ(x893))) -> new_gcd0Gcd'1(False, x892, Neg(Succ(x893))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x891))))), Neg(new_primModNatS02(Succ(Succ(x890)), Succ(Succ(x891)), x890, x891)))=new_gcd0Gcd'(x892, Neg(Succ(x893))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x890))))), Pos(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x891))))), Neg(new_primModNatS02(Succ(Succ(x890)), Succ(Succ(x891)), x890, x891)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x890))=x1326 & Succ(Succ(x891))=x1327 & new_primModNatS02(x1326, x1327, x890, x891)=Succ(x893) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x890))))), Pos(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x891))))), Neg(new_primModNatS02(Succ(Succ(x890)), Succ(Succ(x891)), x890, x891)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1326, x1327, x890, x891)=Succ(x893) which results in the following new constraints: (3) (new_primModNatS01(x1330, x1329)=Succ(x893) & Succ(Succ(Succ(x1328)))=x1330 & Succ(Succ(Zero))=x1329 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1328)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1328))), Succ(Succ(Zero)), Succ(x1328), Zero)))) (4) (new_primModNatS02(x1334, x1333, x1332, x1331)=Succ(x893) & Succ(Succ(Succ(x1332)))=x1334 & Succ(Succ(Succ(x1331)))=x1333 & (\/x1335:new_primModNatS02(x1334, x1333, x1332, x1331)=Succ(x1335) & Succ(Succ(x1332))=x1334 & Succ(Succ(x1331))=x1333 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1332))))), Pos(Succ(Succ(Succ(Succ(x1331))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x1331))))), Neg(new_primModNatS02(Succ(Succ(x1332)), Succ(Succ(x1331)), x1332, x1331)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1332)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1331)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1331)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1332))), Succ(Succ(Succ(x1331))), Succ(x1332), Succ(x1331))))) (5) (new_primModNatS01(x1337, x1336)=Succ(x893) & Succ(Succ(Zero))=x1337 & Succ(Succ(Zero))=x1336 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x1340))=Succ(x893) & Succ(Succ(Zero))=x1340 & Succ(Succ(Succ(x1338)))=x1339 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1338)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1338)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1338))), Zero, Succ(x1338))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1330, x1329)=Succ(x893) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x1342), Succ(x1341)), Succ(x1341))=Succ(x893) & Succ(Succ(Succ(x1328)))=x1342 & Succ(Succ(Zero))=x1341 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1328)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1328))), Succ(Succ(Zero)), Succ(x1328), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x1334, x1333, x1332, x1331)=Succ(x893) & Succ(Succ(Succ(x1332)))=x1334 & Succ(Succ(Succ(x1331)))=x1333 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1332)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1331)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1331)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1332))), Succ(Succ(Succ(x1331))), Succ(x1332), Succ(x1331))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1337, x1336)=Succ(x893) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1361), Succ(x1360)), Succ(x1360))=Succ(x893) & Succ(Succ(Zero))=x1361 & Succ(Succ(Zero))=x1360 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1338)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1338)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1338))), Zero, Succ(x1338))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1328)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1328))), Succ(Succ(Zero)), Succ(x1328), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1334, x1333, x1332, x1331)=Succ(x893) which results in the following new constraints: (12) (new_primModNatS01(x1349, x1348)=Succ(x893) & Succ(Succ(Succ(Succ(x1347))))=x1349 & Succ(Succ(Succ(Zero)))=x1348 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1347))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1347)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1347)), Succ(Zero))))) (13) (new_primModNatS02(x1353, x1352, x1351, x1350)=Succ(x893) & Succ(Succ(Succ(Succ(x1351))))=x1353 & Succ(Succ(Succ(Succ(x1350))))=x1352 & (\/x1354:new_primModNatS02(x1353, x1352, x1351, x1350)=Succ(x1354) & Succ(Succ(Succ(x1351)))=x1353 & Succ(Succ(Succ(x1350)))=x1352 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1351)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1350)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1350)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1351))), Succ(Succ(Succ(x1350))), Succ(x1351), Succ(x1350))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1351))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1350))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1350))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1351)))), Succ(Succ(Succ(Succ(x1350)))), Succ(Succ(x1351)), Succ(Succ(x1350)))))) (14) (new_primModNatS01(x1356, x1355)=Succ(x893) & Succ(Succ(Succ(Zero)))=x1356 & Succ(Succ(Succ(Zero)))=x1355 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x1359))=Succ(x893) & Succ(Succ(Succ(Zero)))=x1359 & Succ(Succ(Succ(Succ(x1357))))=x1358 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1357)))), Succ(Zero), Succ(Succ(x1357)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1347))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1347)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1347)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1351))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1350))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1350))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1351)))), Succ(Succ(Succ(Succ(x1350)))), Succ(Succ(x1351)), Succ(Succ(x1350)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1357)))), Succ(Zero), Succ(Succ(x1357)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x949)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x949))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'(x950, Neg(Succ(x951))) -> new_gcd0Gcd'1(False, x950, Neg(Succ(x951))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x949))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'(x950, Neg(Succ(x951))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x949))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x949))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x949))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x949))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero))))), new_gcd0Gcd'(x982, Neg(Succ(x983))) -> new_gcd0Gcd'1(False, x982, Neg(Succ(x983))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))=new_gcd0Gcd'(x982, Neg(Succ(x983))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x981)=x1366 & Succ(Succ(Zero))=x1367 & new_primModNatS1(x1366, x1367)=Succ(x983) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1366, x1367)=Succ(x983) which results in the following new constraints: (3) (Succ(Zero)=Succ(x983) & Succ(x981)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1368) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))) (4) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x983) & Succ(x981)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))) (5) (new_primModNatS1(new_primMinusNatS0(x1370), Zero)=Succ(x983) & Succ(x981)=Succ(Succ(x1370)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))) (6) (new_primModNatS02(x1372, x1371, x1372, x1371)=Succ(x983) & Succ(x981)=Succ(Succ(x1372)) & Succ(Succ(Zero))=Succ(x1371) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (IV) which results in the following new constraint: (7) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (x1372=x1373 & x1371=x1374 & new_primModNatS02(x1372, x1371, x1373, x1374)=Succ(x983) & Succ(Zero)=x1371 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1372)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1372)), Succ(Succ(Zero)))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1372, x1371, x1373, x1374)=Succ(x983) which results in the following new constraints: (9) (new_primModNatS01(x1377, x1376)=Succ(x983) & x1377=Succ(x1375) & x1376=Zero & Succ(Zero)=x1376 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1377)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1377)), Succ(Succ(Zero)))))) (10) (new_primModNatS02(x1381, x1380, x1379, x1378)=Succ(x983) & x1381=Succ(x1379) & x1380=Succ(x1378) & Succ(Zero)=x1380 & (\/x1382:new_primModNatS02(x1381, x1380, x1379, x1378)=Succ(x1382) & x1381=x1379 & x1380=x1378 & Succ(Zero)=x1380 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1381)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1381)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1381)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1381)), Succ(Succ(Zero)))))) (11) (new_primModNatS01(x1384, x1383)=Succ(x983) & x1384=Zero & x1383=Zero & Succ(Zero)=x1383 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1384)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1384)), Succ(Succ(Zero)))))) (12) (Succ(Succ(x1387))=Succ(x983) & x1387=Zero & x1386=Succ(x1385) & Succ(Zero)=x1386 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1387)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1387)), Succ(Succ(Zero)))))) 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'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1379))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x1379))), Succ(Succ(Zero)))))) 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'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), new_gcd0Gcd'(x1010, Neg(Succ(x1011))) -> new_gcd0Gcd'1(False, x1010, Neg(Succ(x1011))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_gcd0Gcd'(x1010, Neg(Succ(x1011))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1015))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1015, Zero, x1015, Zero))), new_gcd0Gcd'(x1016, Neg(Succ(x1017))) -> new_gcd0Gcd'1(False, x1016, Neg(Succ(x1017))) which results in the following constraint: (1) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1015, Zero, x1015, Zero)))=new_gcd0Gcd'(x1016, Neg(Succ(x1017))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1015))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1015, Zero, x1015, Zero)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x1390 & x1015=x1391 & Zero=x1392 & new_primModNatS02(x1015, x1390, x1391, x1392)=Succ(x1017) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1015))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1015, Zero, x1015, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1015, x1390, x1391, x1392)=Succ(x1017) which results in the following new constraints: (3) (new_primModNatS01(x1395, x1394)=Succ(x1017) & Zero=x1394 & x1395=Succ(x1393) & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1395))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1395, Zero, x1395, Zero)))) (4) (new_primModNatS02(x1399, x1398, x1397, x1396)=Succ(x1017) & Zero=x1398 & x1399=Succ(x1397) & Zero=Succ(x1396) & (\/x1400:new_primModNatS02(x1399, x1398, x1397, x1396)=Succ(x1400) & Zero=x1398 & x1399=x1397 & Zero=x1396 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1399))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1399, Zero, x1399, Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1399))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1399, Zero, x1399, Zero)))) (5) (new_primModNatS01(x1402, x1401)=Succ(x1017) & Zero=x1401 & x1402=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1402))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1402, Zero, x1402, Zero)))) (6) (Succ(Succ(x1405))=Succ(x1017) & Zero=x1404 & x1405=Zero & Zero=Succ(x1403) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1405))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1405, Zero, x1405, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Succ(x1393)=x1406 & new_primModNatS01(x1406, x1394)=Succ(x1017) & Zero=x1394 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1393)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1393), Zero, Succ(x1393), Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Zero=x1413 & new_primModNatS01(x1413, x1401)=Succ(x1017) & Zero=x1401 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1406, x1394)=Succ(x1017) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1408), Succ(x1407)), Succ(x1407))=Succ(x1017) & Succ(x1393)=x1408 & Zero=x1407 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1393)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1393), Zero, Succ(x1393), Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1393)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1393), Zero, Succ(x1393), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1413, x1401)=Succ(x1017) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x1415), Succ(x1414)), Succ(x1414))=Succ(x1017) & Zero=x1415 & Zero=x1414 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) *(new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x4))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x4))))) *(new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x7))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x7))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x40)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x40)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x43)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x43)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x47))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x47))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x50))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x50))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x62))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x62))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x65))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x65))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x68))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x68))))), Pos(Succ(Succ(Succ(Zero)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Zero))))) *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) *(new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x74))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x74))), Pos(Succ(Zero)))) *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) *(new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x109))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x109))), Neg(Succ(Zero)))) *new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) *(new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x148))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x148))))) *(new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x151))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x151))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x154)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x154)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x157)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x157)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(x161))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(x161))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x164))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x164))))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x167))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x167))))), Neg(Succ(Succ(Succ(Zero)))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x172))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x172))))), Neg(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x179))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x179))))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Zero)))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x187))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x187))))), Neg(Succ(Succ(Zero))))) *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) *(new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x212))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x212))), Pos(Succ(Zero)))) *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) *(new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x247))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x247))), Neg(Succ(Zero)))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x276)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x276)))), Pos(Succ(Succ(Zero))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x311)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x311)))), Neg(Succ(Succ(Zero))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1075))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1075))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1075)))), Succ(Zero), Succ(Succ(x1075)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1056)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1056)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1056))), Zero, Succ(x1056))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1046)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1046))), Succ(Succ(Zero)), Succ(x1046), Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1065))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1065)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1065)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1069))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1069)))), Succ(Succ(Succ(Succ(x1068)))), Succ(Succ(x1069)), Succ(Succ(x1068)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x402))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x402))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1097))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1097))), Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1111)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1111), Zero, Succ(x1111), Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1169))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1169))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1169)))), Succ(Zero), Succ(Succ(x1169)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1150)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1150)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1150))), Zero, Succ(x1150))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1140)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1140))), Succ(Succ(Zero)), Succ(x1140), Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1159))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1159)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1159)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1163))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1162))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1162))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1163)))), Succ(Succ(Succ(Succ(x1162)))), Succ(Succ(x1163)), Succ(Succ(x1162)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x565))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x565))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1191))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x1191))), Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1205)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1205), Zero, Succ(x1205), Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x660)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x660)))), Pos(Succ(Succ(Zero))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x695)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x695)))), Neg(Succ(Succ(Zero))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1263))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1263))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1263)))), Succ(Zero), Succ(Succ(x1263)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1244))), Zero, Succ(x1244))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1234)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1234))), Succ(Succ(Zero)), Succ(x1234), Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1253))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1253)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1253)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1257))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1256))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1256))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1257)))), Succ(Succ(Succ(Succ(x1256)))), Succ(Succ(x1257)), Succ(Succ(x1256)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x786))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x786))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1285))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1285))), Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1299)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1299), Zero, Succ(x1299), Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1357)))), Succ(Zero), Succ(Succ(x1357)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1338)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1338)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1338))), Zero, Succ(x1338))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1328)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1328))), Succ(Succ(Zero)), Succ(x1328), Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1347))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1347)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1347)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1351))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1350))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1350))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1351)))), Succ(Succ(Succ(Succ(x1350)))), Succ(Succ(x1351)), Succ(Succ(x1350)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x949))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x949))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1379))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x1379))), Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1393)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1393), Zero, Succ(x1393), Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, 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. ---------------------------------------- (910) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) new_primModNatS1(Zero, vuz15500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primMinusNatS0(x0) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (911) Obligation: Q DP problem: The TRS P consists of the following rules: new_absReal1(vuz291, Succ(vuz2920), Succ(vuz2930)) -> new_absReal1(vuz291, vuz2920, vuz2930) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (912) 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_absReal1(vuz291, Succ(vuz2920), Succ(vuz2930)) -> new_absReal1(vuz291, vuz2920, vuz2930) The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 ---------------------------------------- (913) YES ---------------------------------------- (914) Obligation: Q DP problem: The TRS P consists of the following rules: new_absReal10(vuz287, Succ(vuz2880), Succ(vuz2890)) -> new_absReal10(vuz287, vuz2880, vuz2890) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (915) 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_absReal10(vuz287, Succ(vuz2880), Succ(vuz2890)) -> new_absReal10(vuz287, vuz2880, vuz2890) The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 ---------------------------------------- (916) YES ---------------------------------------- (917) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vuz30100)), Succ(vuz319000)) -> new_primDivNatS0(vuz30100, vuz319000, vuz30100, vuz319000) new_primDivNatS0(vuz452, vuz453, Zero, Zero) -> new_primDivNatS00(vuz452, vuz453) new_primDivNatS(Succ(Succ(vuz30100)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz30100), Zero) new_primDivNatS0(vuz452, vuz453, Succ(vuz4540), Succ(vuz4550)) -> new_primDivNatS0(vuz452, vuz453, vuz4540, vuz4550) new_primDivNatS0(vuz452, vuz453, Succ(vuz4540), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz452, vuz453), Succ(vuz453)) new_primDivNatS00(vuz452, vuz453) -> new_primDivNatS(new_primMinusNatS2(vuz452, vuz453), Succ(vuz453)) new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS1, Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (918) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (919) Complex Obligation (AND) ---------------------------------------- (920) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vuz30100)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz30100), Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (921) 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(vuz30100)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz30100), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Succ(vuz4530)) -> 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 ---------------------------------------- (922) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (923) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (924) YES ---------------------------------------- (925) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(vuz452, vuz453, Zero, Zero) -> new_primDivNatS00(vuz452, vuz453) new_primDivNatS00(vuz452, vuz453) -> new_primDivNatS(new_primMinusNatS2(vuz452, vuz453), Succ(vuz453)) new_primDivNatS(Succ(Succ(vuz30100)), Succ(vuz319000)) -> new_primDivNatS0(vuz30100, vuz319000, vuz30100, vuz319000) new_primDivNatS0(vuz452, vuz453, Succ(vuz4540), Succ(vuz4550)) -> new_primDivNatS0(vuz452, vuz453, vuz4540, vuz4550) new_primDivNatS0(vuz452, vuz453, Succ(vuz4540), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz452, vuz453), Succ(vuz453)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero new_primMinusNatS0(vuz30100) -> Succ(vuz30100) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (926) 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(vuz452, vuz453) -> new_primDivNatS(new_primMinusNatS2(vuz452, vuz453), Succ(vuz453)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primDivNatS(Succ(Succ(vuz30100)), Succ(vuz319000)) -> new_primDivNatS0(vuz30100, vuz319000, vuz30100, vuz319000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primDivNatS0(vuz452, vuz453, Succ(vuz4540), Succ(vuz4550)) -> new_primDivNatS0(vuz452, vuz453, vuz4540, vuz4550) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primDivNatS0(vuz452, vuz453, Zero, Zero) -> new_primDivNatS00(vuz452, vuz453) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 *new_primDivNatS0(vuz452, vuz453, Succ(vuz4540), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz452, vuz453), Succ(vuz453)) (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(vuz4530)) -> Zero new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) ---------------------------------------- (927) YES ---------------------------------------- (928) Obligation: Q DP problem: The TRS P consists of the following rules: new_signumReal10(vuz457, Succ(vuz4580), Succ(vuz4590), h) -> new_signumReal10(vuz457, vuz4580, vuz4590, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (929) 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_signumReal10(vuz457, Succ(vuz4580), Succ(vuz4590), h) -> new_signumReal10(vuz457, vuz4580, vuz4590, h) The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4 ---------------------------------------- (930) YES ---------------------------------------- (931) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Succ(vuz23600), Succ(vuz27500)) -> new_primMulNat(vuz23600, Succ(vuz27500)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (932) 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(vuz23600), Succ(vuz27500)) -> new_primMulNat(vuz23600, Succ(vuz27500)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (933) YES ---------------------------------------- (934) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNatS(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS(vuz4520, vuz4530) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (935) 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(vuz4520), Succ(vuz4530)) -> new_primMinusNatS(vuz4520, vuz4530) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (936) YES ---------------------------------------- (937) Obligation: Q DP problem: The TRS P consists of the following rules: new_primEqNat(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat(vuz170000, vuz173000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (938) 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_primEqNat(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat(vuz170000, vuz173000) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (939) YES ---------------------------------------- (940) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Succ(vuz28500), Succ(vuz275000)) -> new_primPlusNat(vuz28500, vuz275000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (941) 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(vuz28500), Succ(vuz275000)) -> new_primPlusNat(vuz28500, vuz275000) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (942) YES ---------------------------------------- (943) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="fromDouble",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="fromDouble vuz3",fontsize=16,color="blue",shape="box"];8234[label="fromDouble :: Double -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3 -> 8234[label="",style="solid", color="blue", weight=9]; 8234 -> 4[label="",style="solid", color="blue", weight=3]; 8235[label="fromDouble :: Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3 -> 8235[label="",style="solid", color="blue", weight=9]; 8235 -> 5[label="",style="solid", color="blue", weight=3]; 8236[label="fromDouble :: Double -> Float",fontsize=10,color="white",style="solid",shape="box"];3 -> 8236[label="",style="solid", color="blue", weight=9]; 8236 -> 6[label="",style="solid", color="blue", weight=3]; 4[label="fromDouble vuz3",fontsize=16,color="black",shape="box"];4 -> 7[label="",style="solid", color="black", weight=3]; 5[label="fromDouble vuz3",fontsize=16,color="black",shape="box"];5 -> 8[label="",style="solid", color="black", weight=3]; 6[label="fromDouble vuz3",fontsize=16,color="black",shape="box"];6 -> 9[label="",style="solid", color="black", weight=3]; 7[label="doubleToRatio vuz3",fontsize=16,color="burlywood",shape="box"];8237[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];7 -> 8237[label="",style="solid", color="burlywood", weight=9]; 8237 -> 10[label="",style="solid", color="burlywood", weight=3]; 8[label="vuz3",fontsize=16,color="green",shape="box"];9[label="doubleToFloat vuz3",fontsize=16,color="burlywood",shape="box"];8238[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];9 -> 8238[label="",style="solid", color="burlywood", weight=9]; 8238 -> 11[label="",style="solid", color="burlywood", weight=3]; 10[label="doubleToRatio (Double vuz30 vuz31)",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 11[label="doubleToFloat (Double vuz30 vuz31)",fontsize=16,color="black",shape="box"];11 -> 13[label="",style="solid", color="black", weight=3]; 12[label="fromInt vuz30 % fromInt vuz31",fontsize=16,color="black",shape="box"];12 -> 14[label="",style="solid", color="black", weight=3]; 13[label="Float vuz30 vuz31",fontsize=16,color="green",shape="box"];14[label="reduce (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31))",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 15[label="reduce2 (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31))",fontsize=16,color="black",shape="box"];15 -> 16[label="",style="solid", color="black", weight=3]; 16 -> 17[label="",style="dashed", color="red", weight=0]; 16[label="reduce2Reduce1 (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31)) (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31)) (abs (fromInt vuz31) == fromInt (Pos Zero))",fontsize=16,color="magenta"];16 -> 18[label="",style="dashed", color="magenta", weight=3]; 16 -> 19[label="",style="dashed", color="magenta", weight=3]; 16 -> 20[label="",style="dashed", color="magenta", weight=3]; 18[label="vuz31",fontsize=16,color="green",shape="box"];19[label="vuz30",fontsize=16,color="green",shape="box"];20[label="abs (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];8239[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];20 -> 8239[label="",style="solid", color="blue", weight=9]; 8239 -> 21[label="",style="solid", color="blue", weight=3]; 8240[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];20 -> 8240[label="",style="solid", color="blue", weight=9]; 8240 -> 22[label="",style="solid", color="blue", weight=3]; 17[label="reduce2Reduce1 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) vuz10",fontsize=16,color="burlywood",shape="triangle"];8241[label="vuz10/False",fontsize=10,color="white",style="solid",shape="box"];17 -> 8241[label="",style="solid", color="burlywood", weight=9]; 8241 -> 23[label="",style="solid", color="burlywood", weight=3]; 8242[label="vuz10/True",fontsize=10,color="white",style="solid",shape="box"];17 -> 8242[label="",style="solid", color="burlywood", weight=9]; 8242 -> 24[label="",style="solid", color="burlywood", weight=3]; 21 -> 2582[label="",style="dashed", color="red", weight=0]; 21[label="abs (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="magenta"];21 -> 2583[label="",style="dashed", color="magenta", weight=3]; 22[label="abs (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 23[label="reduce2Reduce1 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) False",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 24[label="reduce2Reduce1 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) True",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 2583 -> 2348[label="",style="dashed", color="red", weight=0]; 2583[label="abs (fromInt vuz31)",fontsize=16,color="magenta"];2583 -> 2609[label="",style="dashed", color="magenta", weight=3]; 2582[label="vuz170 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];2582 -> 2610[label="",style="solid", color="black", weight=3]; 26[label="absReal (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 27[label="reduce2Reduce0 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) otherwise",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 28[label="error []",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 2609[label="fromInt vuz31",fontsize=16,color="black",shape="triangle"];2609 -> 2646[label="",style="solid", color="black", weight=3]; 2348[label="abs vuz158",fontsize=16,color="black",shape="triangle"];2348 -> 2437[label="",style="solid", color="black", weight=3]; 2610 -> 2647[label="",style="dashed", color="red", weight=0]; 2610[label="primEqInt vuz170 (fromInt (Pos Zero))",fontsize=16,color="magenta"];2610 -> 2648[label="",style="dashed", color="magenta", weight=3]; 30[label="absReal2 (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 31[label="reduce2Reduce0 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) True",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 32[label="error []",fontsize=16,color="red",shape="box"];2646[label="vuz31",fontsize=16,color="green",shape="box"];2437[label="absReal vuz158",fontsize=16,color="black",shape="box"];2437 -> 2483[label="",style="solid", color="black", weight=3]; 2648 -> 2609[label="",style="dashed", color="red", weight=0]; 2648[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];2648 -> 2891[label="",style="dashed", color="magenta", weight=3]; 2647[label="primEqInt vuz170 vuz173",fontsize=16,color="burlywood",shape="triangle"];8243[label="vuz170/Pos vuz1700",fontsize=10,color="white",style="solid",shape="box"];2647 -> 8243[label="",style="solid", color="burlywood", weight=9]; 8243 -> 2892[label="",style="solid", color="burlywood", weight=3]; 8244[label="vuz170/Neg vuz1700",fontsize=10,color="white",style="solid",shape="box"];2647 -> 8244[label="",style="solid", color="burlywood", weight=9]; 8244 -> 2893[label="",style="solid", color="burlywood", weight=3]; 34[label="absReal1 (fromInt vuz31) (fromInt vuz31 >= fromInt (Pos Zero)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];34 -> 37[label="",style="solid", color="black", weight=3]; 35[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) :% (abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)))",fontsize=16,color="green",shape="box"];35 -> 38[label="",style="dashed", color="green", weight=3]; 35 -> 39[label="",style="dashed", color="green", weight=3]; 2483[label="absReal2 vuz158",fontsize=16,color="black",shape="box"];2483 -> 2531[label="",style="solid", color="black", weight=3]; 2891[label="Pos Zero",fontsize=16,color="green",shape="box"];2892[label="primEqInt (Pos vuz1700) vuz173",fontsize=16,color="burlywood",shape="box"];8245[label="vuz1700/Succ vuz17000",fontsize=10,color="white",style="solid",shape="box"];2892 -> 8245[label="",style="solid", color="burlywood", weight=9]; 8245 -> 2896[label="",style="solid", color="burlywood", weight=3]; 8246[label="vuz1700/Zero",fontsize=10,color="white",style="solid",shape="box"];2892 -> 8246[label="",style="solid", color="burlywood", weight=9]; 8246 -> 2897[label="",style="solid", color="burlywood", weight=3]; 2893[label="primEqInt (Neg vuz1700) vuz173",fontsize=16,color="burlywood",shape="box"];8247[label="vuz1700/Succ vuz17000",fontsize=10,color="white",style="solid",shape="box"];2893 -> 8247[label="",style="solid", color="burlywood", weight=9]; 8247 -> 2898[label="",style="solid", color="burlywood", weight=3]; 8248[label="vuz1700/Zero",fontsize=10,color="white",style="solid",shape="box"];2893 -> 8248[label="",style="solid", color="burlywood", weight=9]; 8248 -> 2899[label="",style="solid", color="burlywood", weight=3]; 37[label="absReal1 (fromInt vuz31) (compare (fromInt vuz31) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];37 -> 41[label="",style="solid", color="black", weight=3]; 38[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="blue",shape="box"];8249[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];38 -> 8249[label="",style="solid", color="blue", weight=9]; 8249 -> 42[label="",style="solid", color="blue", weight=3]; 8250[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];38 -> 8250[label="",style="solid", color="blue", weight=9]; 8250 -> 43[label="",style="solid", color="blue", weight=3]; 39[label="abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="blue",shape="box"];8251[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];39 -> 8251[label="",style="solid", color="blue", weight=9]; 8251 -> 44[label="",style="solid", color="blue", weight=3]; 8252[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];39 -> 8252[label="",style="solid", color="blue", weight=9]; 8252 -> 45[label="",style="solid", color="blue", weight=3]; 2531[label="absReal1 vuz158 (vuz158 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2531 -> 2545[label="",style="solid", color="black", weight=3]; 2896[label="primEqInt (Pos (Succ vuz17000)) vuz173",fontsize=16,color="burlywood",shape="box"];8253[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2896 -> 8253[label="",style="solid", color="burlywood", weight=9]; 8253 -> 2955[label="",style="solid", color="burlywood", weight=3]; 8254[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2896 -> 8254[label="",style="solid", color="burlywood", weight=9]; 8254 -> 2956[label="",style="solid", color="burlywood", weight=3]; 2897[label="primEqInt (Pos Zero) vuz173",fontsize=16,color="burlywood",shape="box"];8255[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2897 -> 8255[label="",style="solid", color="burlywood", weight=9]; 8255 -> 2957[label="",style="solid", color="burlywood", weight=3]; 8256[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2897 -> 8256[label="",style="solid", color="burlywood", weight=9]; 8256 -> 2958[label="",style="solid", color="burlywood", weight=3]; 2898[label="primEqInt (Neg (Succ vuz17000)) vuz173",fontsize=16,color="burlywood",shape="box"];8257[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2898 -> 8257[label="",style="solid", color="burlywood", weight=9]; 8257 -> 2959[label="",style="solid", color="burlywood", weight=3]; 8258[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2898 -> 8258[label="",style="solid", color="burlywood", weight=9]; 8258 -> 2960[label="",style="solid", color="burlywood", weight=3]; 2899[label="primEqInt (Neg Zero) vuz173",fontsize=16,color="burlywood",shape="box"];8259[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2899 -> 8259[label="",style="solid", color="burlywood", weight=9]; 8259 -> 2961[label="",style="solid", color="burlywood", weight=3]; 8260[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2899 -> 8260[label="",style="solid", color="burlywood", weight=9]; 8260 -> 2962[label="",style="solid", color="burlywood", weight=3]; 41[label="absReal1 (fromInt vuz31) (not (compare (fromInt vuz31) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];41 -> 47[label="",style="solid", color="black", weight=3]; 42[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];42 -> 48[label="",style="solid", color="black", weight=3]; 43[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];43 -> 49[label="",style="solid", color="black", weight=3]; 44[label="abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];44 -> 50[label="",style="solid", color="black", weight=3]; 45[label="abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];45 -> 51[label="",style="solid", color="black", weight=3]; 2545 -> 2894[label="",style="dashed", color="red", weight=0]; 2545[label="absReal1 vuz158 (compare vuz158 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="magenta"];2545 -> 2895[label="",style="dashed", color="magenta", weight=3]; 2955[label="primEqInt (Pos (Succ vuz17000)) (Pos vuz1730)",fontsize=16,color="burlywood",shape="box"];8261[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2955 -> 8261[label="",style="solid", color="burlywood", weight=9]; 8261 -> 2979[label="",style="solid", color="burlywood", weight=3]; 8262[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2955 -> 8262[label="",style="solid", color="burlywood", weight=9]; 8262 -> 2980[label="",style="solid", color="burlywood", weight=3]; 2956[label="primEqInt (Pos (Succ vuz17000)) (Neg vuz1730)",fontsize=16,color="black",shape="box"];2956 -> 2981[label="",style="solid", color="black", weight=3]; 2957[label="primEqInt (Pos Zero) (Pos vuz1730)",fontsize=16,color="burlywood",shape="box"];8263[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2957 -> 8263[label="",style="solid", color="burlywood", weight=9]; 8263 -> 2982[label="",style="solid", color="burlywood", weight=3]; 8264[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2957 -> 8264[label="",style="solid", color="burlywood", weight=9]; 8264 -> 2983[label="",style="solid", color="burlywood", weight=3]; 2958[label="primEqInt (Pos Zero) (Neg vuz1730)",fontsize=16,color="burlywood",shape="box"];8265[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2958 -> 8265[label="",style="solid", color="burlywood", weight=9]; 8265 -> 2984[label="",style="solid", color="burlywood", weight=3]; 8266[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2958 -> 8266[label="",style="solid", color="burlywood", weight=9]; 8266 -> 2985[label="",style="solid", color="burlywood", weight=3]; 2959[label="primEqInt (Neg (Succ vuz17000)) (Pos vuz1730)",fontsize=16,color="black",shape="box"];2959 -> 2986[label="",style="solid", color="black", weight=3]; 2960[label="primEqInt (Neg (Succ vuz17000)) (Neg vuz1730)",fontsize=16,color="burlywood",shape="box"];8267[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2960 -> 8267[label="",style="solid", color="burlywood", weight=9]; 8267 -> 2987[label="",style="solid", color="burlywood", weight=3]; 8268[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2960 -> 8268[label="",style="solid", color="burlywood", weight=9]; 8268 -> 2988[label="",style="solid", color="burlywood", weight=3]; 2961[label="primEqInt (Neg Zero) (Pos vuz1730)",fontsize=16,color="burlywood",shape="box"];8269[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2961 -> 8269[label="",style="solid", color="burlywood", weight=9]; 8269 -> 2989[label="",style="solid", color="burlywood", weight=3]; 8270[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2961 -> 8270[label="",style="solid", color="burlywood", weight=9]; 8270 -> 2990[label="",style="solid", color="burlywood", weight=3]; 2962[label="primEqInt (Neg Zero) (Neg vuz1730)",fontsize=16,color="burlywood",shape="box"];8271[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2962 -> 8271[label="",style="solid", color="burlywood", weight=9]; 8271 -> 2991[label="",style="solid", color="burlywood", weight=3]; 8272[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2962 -> 8272[label="",style="solid", color="burlywood", weight=9]; 8272 -> 2992[label="",style="solid", color="burlywood", weight=3]; 47[label="absReal1 (Integer vuz31) (not (compare (Integer vuz31) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];47 -> 53[label="",style="solid", color="black", weight=3]; 48[label="primQuotInt (fromInt vuz8 * signum (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];48 -> 54[label="",style="solid", color="black", weight=3]; 49[label="Integer vuz8 * signum (fromInt vuz9) `quot` reduce2D (Integer vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];49 -> 55[label="",style="solid", color="black", weight=3]; 50[label="primQuotInt (abs (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];50 -> 56[label="",style="solid", color="black", weight=3]; 51[label="absReal (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal (fromInt vuz9))",fontsize=16,color="black",shape="box"];51 -> 57[label="",style="solid", color="black", weight=3]; 2895 -> 2609[label="",style="dashed", color="red", weight=0]; 2895[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];2895 -> 2900[label="",style="dashed", color="magenta", weight=3]; 2894[label="absReal1 vuz158 (compare vuz158 vuz174 /= LT)",fontsize=16,color="black",shape="triangle"];2894 -> 2901[label="",style="solid", color="black", weight=3]; 2979[label="primEqInt (Pos (Succ vuz17000)) (Pos (Succ vuz17300))",fontsize=16,color="black",shape="box"];2979 -> 3059[label="",style="solid", color="black", weight=3]; 2980[label="primEqInt (Pos (Succ vuz17000)) (Pos Zero)",fontsize=16,color="black",shape="box"];2980 -> 3060[label="",style="solid", color="black", weight=3]; 2981[label="False",fontsize=16,color="green",shape="box"];2982[label="primEqInt (Pos Zero) (Pos (Succ vuz17300))",fontsize=16,color="black",shape="box"];2982 -> 3061[label="",style="solid", color="black", weight=3]; 2983[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2983 -> 3062[label="",style="solid", color="black", weight=3]; 2984[label="primEqInt (Pos Zero) (Neg (Succ vuz17300))",fontsize=16,color="black",shape="box"];2984 -> 3063[label="",style="solid", color="black", weight=3]; 2985[label="primEqInt (Pos Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2985 -> 3064[label="",style="solid", color="black", weight=3]; 2986[label="False",fontsize=16,color="green",shape="box"];2987[label="primEqInt (Neg (Succ vuz17000)) (Neg (Succ vuz17300))",fontsize=16,color="black",shape="box"];2987 -> 3065[label="",style="solid", color="black", weight=3]; 2988[label="primEqInt (Neg (Succ vuz17000)) (Neg Zero)",fontsize=16,color="black",shape="box"];2988 -> 3066[label="",style="solid", color="black", weight=3]; 2989[label="primEqInt (Neg Zero) (Pos (Succ vuz17300))",fontsize=16,color="black",shape="box"];2989 -> 3067[label="",style="solid", color="black", weight=3]; 2990[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2990 -> 3068[label="",style="solid", color="black", weight=3]; 2991[label="primEqInt (Neg Zero) (Neg (Succ vuz17300))",fontsize=16,color="black",shape="box"];2991 -> 3069[label="",style="solid", color="black", weight=3]; 2992[label="primEqInt (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2992 -> 3070[label="",style="solid", color="black", weight=3]; 53[label="absReal1 (Integer vuz31) (not (compare (Integer vuz31) (Integer (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];53 -> 59[label="",style="solid", color="black", weight=3]; 54[label="primQuotInt (primMulInt (fromInt vuz8) (signum (fromInt vuz9))) (reduce2D (primMulInt (fromInt vuz8) (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];54 -> 60[label="",style="solid", color="black", weight=3]; 55[label="Integer vuz8 * signumReal (fromInt vuz9) `quot` reduce2D (Integer vuz8 * signumReal (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];55 -> 61[label="",style="solid", color="black", weight=3]; 56[label="primQuotInt (absReal (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal (fromInt vuz9)))",fontsize=16,color="black",shape="box"];56 -> 62[label="",style="solid", color="black", weight=3]; 57[label="absReal2 (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal2 (fromInt vuz9))",fontsize=16,color="black",shape="box"];57 -> 63[label="",style="solid", color="black", weight=3]; 2900[label="Pos Zero",fontsize=16,color="green",shape="box"];2901[label="absReal1 vuz158 (not (compare vuz158 vuz174 == LT))",fontsize=16,color="black",shape="box"];2901 -> 2963[label="",style="solid", color="black", weight=3]; 3059[label="primEqNat vuz17000 vuz17300",fontsize=16,color="burlywood",shape="triangle"];8273[label="vuz17000/Succ vuz170000",fontsize=10,color="white",style="solid",shape="box"];3059 -> 8273[label="",style="solid", color="burlywood", weight=9]; 8273 -> 3106[label="",style="solid", color="burlywood", weight=3]; 8274[label="vuz17000/Zero",fontsize=10,color="white",style="solid",shape="box"];3059 -> 8274[label="",style="solid", color="burlywood", weight=9]; 8274 -> 3107[label="",style="solid", color="burlywood", weight=3]; 3060[label="False",fontsize=16,color="green",shape="box"];3061[label="False",fontsize=16,color="green",shape="box"];3062[label="True",fontsize=16,color="green",shape="box"];3063[label="False",fontsize=16,color="green",shape="box"];3064[label="True",fontsize=16,color="green",shape="box"];3065 -> 3059[label="",style="dashed", color="red", weight=0]; 3065[label="primEqNat vuz17000 vuz17300",fontsize=16,color="magenta"];3065 -> 3108[label="",style="dashed", color="magenta", weight=3]; 3065 -> 3109[label="",style="dashed", color="magenta", weight=3]; 3066[label="False",fontsize=16,color="green",shape="box"];3067[label="False",fontsize=16,color="green",shape="box"];3068[label="True",fontsize=16,color="green",shape="box"];3069[label="False",fontsize=16,color="green",shape="box"];3070[label="True",fontsize=16,color="green",shape="box"];59[label="absReal1 (Integer vuz31) (not (primCmpInt vuz31 (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];8275[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];59 -> 8275[label="",style="solid", color="burlywood", weight=9]; 8275 -> 66[label="",style="solid", color="burlywood", weight=3]; 8276[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];59 -> 8276[label="",style="solid", color="burlywood", weight=9]; 8276 -> 67[label="",style="solid", color="burlywood", weight=3]; 60[label="primQuotInt (primMulInt vuz8 (signum (fromInt vuz9))) (reduce2D (primMulInt vuz8 (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="burlywood",shape="box"];8277[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];60 -> 8277[label="",style="solid", color="burlywood", weight=9]; 8277 -> 68[label="",style="solid", color="burlywood", weight=3]; 8278[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];60 -> 8278[label="",style="solid", color="burlywood", weight=9]; 8278 -> 69[label="",style="solid", color="burlywood", weight=3]; 61[label="Integer vuz8 * signumReal3 (fromInt vuz9) `quot` reduce2D (Integer vuz8 * signumReal3 (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];61 -> 70[label="",style="solid", color="black", weight=3]; 62[label="primQuotInt (absReal2 (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal2 (fromInt vuz9)))",fontsize=16,color="black",shape="box"];62 -> 71[label="",style="solid", color="black", weight=3]; 63[label="absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero)) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];63 -> 72[label="",style="solid", color="black", weight=3]; 2963[label="absReal1 vuz158 (not (primCmpInt vuz158 vuz174 == LT))",fontsize=16,color="burlywood",shape="triangle"];8279[label="vuz158/Pos vuz1580",fontsize=10,color="white",style="solid",shape="box"];2963 -> 8279[label="",style="solid", color="burlywood", weight=9]; 8279 -> 2993[label="",style="solid", color="burlywood", weight=3]; 8280[label="vuz158/Neg vuz1580",fontsize=10,color="white",style="solid",shape="box"];2963 -> 8280[label="",style="solid", color="burlywood", weight=9]; 8280 -> 2994[label="",style="solid", color="burlywood", weight=3]; 3106[label="primEqNat (Succ vuz170000) vuz17300",fontsize=16,color="burlywood",shape="box"];8281[label="vuz17300/Succ vuz173000",fontsize=10,color="white",style="solid",shape="box"];3106 -> 8281[label="",style="solid", color="burlywood", weight=9]; 8281 -> 3153[label="",style="solid", color="burlywood", weight=3]; 8282[label="vuz17300/Zero",fontsize=10,color="white",style="solid",shape="box"];3106 -> 8282[label="",style="solid", color="burlywood", weight=9]; 8282 -> 3154[label="",style="solid", color="burlywood", weight=3]; 3107[label="primEqNat Zero vuz17300",fontsize=16,color="burlywood",shape="box"];8283[label="vuz17300/Succ vuz173000",fontsize=10,color="white",style="solid",shape="box"];3107 -> 8283[label="",style="solid", color="burlywood", weight=9]; 8283 -> 3155[label="",style="solid", color="burlywood", weight=3]; 8284[label="vuz17300/Zero",fontsize=10,color="white",style="solid",shape="box"];3107 -> 8284[label="",style="solid", color="burlywood", weight=9]; 8284 -> 3156[label="",style="solid", color="burlywood", weight=3]; 3108[label="vuz17000",fontsize=16,color="green",shape="box"];3109[label="vuz17300",fontsize=16,color="green",shape="box"];66[label="absReal1 (Integer (Pos vuz310)) (not (primCmpInt (Pos vuz310) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];8285[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];66 -> 8285[label="",style="solid", color="burlywood", weight=9]; 8285 -> 77[label="",style="solid", color="burlywood", weight=3]; 8286[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];66 -> 8286[label="",style="solid", color="burlywood", weight=9]; 8286 -> 78[label="",style="solid", color="burlywood", weight=3]; 67[label="absReal1 (Integer (Neg vuz310)) (not (primCmpInt (Neg vuz310) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];8287[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];67 -> 8287[label="",style="solid", color="burlywood", weight=9]; 8287 -> 79[label="",style="solid", color="burlywood", weight=3]; 8288[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 8288[label="",style="solid", color="burlywood", weight=9]; 8288 -> 80[label="",style="solid", color="burlywood", weight=3]; 68[label="primQuotInt (primMulInt (Pos vuz80) (signum (fromInt vuz9))) (reduce2D (primMulInt (Pos vuz80) (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];68 -> 81[label="",style="solid", color="black", weight=3]; 69[label="primQuotInt (primMulInt (Neg vuz80) (signum (fromInt vuz9))) (reduce2D (primMulInt (Neg vuz80) (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];69 -> 82[label="",style="solid", color="black", weight=3]; 70[label="Integer vuz8 * signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero))) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];70 -> 83[label="",style="solid", color="black", weight=3]; 71[label="primQuotInt (absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero))) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero))))",fontsize=16,color="black",shape="box"];71 -> 84[label="",style="solid", color="black", weight=3]; 72[label="absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];72 -> 85[label="",style="solid", color="black", weight=3]; 2993[label="absReal1 (Pos vuz1580) (not (primCmpInt (Pos vuz1580) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8289[label="vuz1580/Succ vuz15800",fontsize=10,color="white",style="solid",shape="box"];2993 -> 8289[label="",style="solid", color="burlywood", weight=9]; 8289 -> 3071[label="",style="solid", color="burlywood", weight=3]; 8290[label="vuz1580/Zero",fontsize=10,color="white",style="solid",shape="box"];2993 -> 8290[label="",style="solid", color="burlywood", weight=9]; 8290 -> 3072[label="",style="solid", color="burlywood", weight=3]; 2994[label="absReal1 (Neg vuz1580) (not (primCmpInt (Neg vuz1580) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8291[label="vuz1580/Succ vuz15800",fontsize=10,color="white",style="solid",shape="box"];2994 -> 8291[label="",style="solid", color="burlywood", weight=9]; 8291 -> 3073[label="",style="solid", color="burlywood", weight=3]; 8292[label="vuz1580/Zero",fontsize=10,color="white",style="solid",shape="box"];2994 -> 8292[label="",style="solid", color="burlywood", weight=9]; 8292 -> 3074[label="",style="solid", color="burlywood", weight=3]; 3153[label="primEqNat (Succ vuz170000) (Succ vuz173000)",fontsize=16,color="black",shape="box"];3153 -> 3173[label="",style="solid", color="black", weight=3]; 3154[label="primEqNat (Succ vuz170000) Zero",fontsize=16,color="black",shape="box"];3154 -> 3174[label="",style="solid", color="black", weight=3]; 3155[label="primEqNat Zero (Succ vuz173000)",fontsize=16,color="black",shape="box"];3155 -> 3175[label="",style="solid", color="black", weight=3]; 3156[label="primEqNat Zero Zero",fontsize=16,color="black",shape="box"];3156 -> 3176[label="",style="solid", color="black", weight=3]; 77[label="absReal1 (Integer (Pos (Succ vuz3100))) (not (primCmpInt (Pos (Succ vuz3100)) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];77 -> 90[label="",style="solid", color="black", weight=3]; 78[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];78 -> 91[label="",style="solid", color="black", weight=3]; 79[label="absReal1 (Integer (Neg (Succ vuz3100))) (not (primCmpInt (Neg (Succ vuz3100)) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];79 -> 92[label="",style="solid", color="black", weight=3]; 80[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];80 -> 93[label="",style="solid", color="black", weight=3]; 81[label="primQuotInt (primMulInt (Pos vuz80) (signumReal (fromInt vuz9))) (reduce2D (primMulInt (Pos vuz80) (signumReal (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];81 -> 94[label="",style="solid", color="black", weight=3]; 82[label="primQuotInt (primMulInt (Neg vuz80) (signumReal (fromInt vuz9))) (reduce2D (primMulInt (Neg vuz80) (signumReal (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];82 -> 95[label="",style="solid", color="black", weight=3]; 83[label="Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == fromInt (Pos Zero))) (abs (Integer vuz9))",fontsize=16,color="black",shape="box"];83 -> 96[label="",style="solid", color="black", weight=3]; 84[label="primQuotInt (absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT)))",fontsize=16,color="black",shape="box"];84 -> 97[label="",style="solid", color="black", weight=3]; 85[label="absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT)) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];85 -> 98[label="",style="solid", color="black", weight=3]; 3071[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpInt (Pos (Succ vuz15800)) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8293[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3071 -> 8293[label="",style="solid", color="burlywood", weight=9]; 8293 -> 3110[label="",style="solid", color="burlywood", weight=3]; 8294[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3071 -> 8294[label="",style="solid", color="burlywood", weight=9]; 8294 -> 3111[label="",style="solid", color="burlywood", weight=3]; 3072[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8295[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3072 -> 8295[label="",style="solid", color="burlywood", weight=9]; 8295 -> 3112[label="",style="solid", color="burlywood", weight=3]; 8296[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3072 -> 8296[label="",style="solid", color="burlywood", weight=9]; 8296 -> 3113[label="",style="solid", color="burlywood", weight=3]; 3073[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpInt (Neg (Succ vuz15800)) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8297[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3073 -> 8297[label="",style="solid", color="burlywood", weight=9]; 8297 -> 3114[label="",style="solid", color="burlywood", weight=3]; 8298[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3073 -> 8298[label="",style="solid", color="burlywood", weight=9]; 8298 -> 3115[label="",style="solid", color="burlywood", weight=3]; 3074[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8299[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3074 -> 8299[label="",style="solid", color="burlywood", weight=9]; 8299 -> 3116[label="",style="solid", color="burlywood", weight=3]; 8300[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3074 -> 8300[label="",style="solid", color="burlywood", weight=9]; 8300 -> 3117[label="",style="solid", color="burlywood", weight=3]; 3173 -> 3059[label="",style="dashed", color="red", weight=0]; 3173[label="primEqNat vuz170000 vuz173000",fontsize=16,color="magenta"];3173 -> 3218[label="",style="dashed", color="magenta", weight=3]; 3173 -> 3219[label="",style="dashed", color="magenta", weight=3]; 3174[label="False",fontsize=16,color="green",shape="box"];3175[label="False",fontsize=16,color="green",shape="box"];3176[label="True",fontsize=16,color="green",shape="box"];90[label="absReal1 (Integer (Pos (Succ vuz3100))) (not (primCmpNat (Succ vuz3100) Zero == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];90 -> 103[label="",style="solid", color="black", weight=3]; 91[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];91 -> 104[label="",style="solid", color="black", weight=3]; 92[label="absReal1 (Integer (Neg (Succ vuz3100))) (not (LT == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];92 -> 105[label="",style="solid", color="black", weight=3]; 93[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];93 -> 106[label="",style="solid", color="black", weight=3]; 94[label="primQuotInt (primMulInt (Pos vuz80) (signumReal3 (fromInt vuz9))) (reduce2D (primMulInt (Pos vuz80) (signumReal3 (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];94 -> 107[label="",style="solid", color="black", weight=3]; 95[label="primQuotInt (primMulInt (Neg vuz80) (signumReal3 (fromInt vuz9))) (reduce2D (primMulInt (Neg vuz80) (signumReal3 (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];95 -> 108[label="",style="solid", color="black", weight=3]; 96[label="Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == Integer (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == Integer (Pos Zero))) (abs (Integer vuz9))",fontsize=16,color="black",shape="box"];96 -> 109[label="",style="solid", color="black", weight=3]; 97[label="primQuotInt (absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];97 -> 110[label="",style="solid", color="black", weight=3]; 98[label="absReal1 (Integer vuz9) (not (compare (Integer vuz9) (fromInt (Pos Zero)) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer vuz9)) (absReal1 (Integer vuz9) (not (compare (Integer vuz9) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];98 -> 111[label="",style="solid", color="black", weight=3]; 3110[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpInt (Pos (Succ vuz15800)) (Pos vuz1740) == LT))",fontsize=16,color="black",shape="box"];3110 -> 3157[label="",style="solid", color="black", weight=3]; 3111[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpInt (Pos (Succ vuz15800)) (Neg vuz1740) == LT))",fontsize=16,color="black",shape="box"];3111 -> 3158[label="",style="solid", color="black", weight=3]; 3112[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8301[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3112 -> 8301[label="",style="solid", color="burlywood", weight=9]; 8301 -> 3159[label="",style="solid", color="burlywood", weight=3]; 8302[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3112 -> 8302[label="",style="solid", color="burlywood", weight=9]; 8302 -> 3160[label="",style="solid", color="burlywood", weight=3]; 3113[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8303[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3113 -> 8303[label="",style="solid", color="burlywood", weight=9]; 8303 -> 3161[label="",style="solid", color="burlywood", weight=3]; 8304[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3113 -> 8304[label="",style="solid", color="burlywood", weight=9]; 8304 -> 3162[label="",style="solid", color="burlywood", weight=3]; 3114[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpInt (Neg (Succ vuz15800)) (Pos vuz1740) == LT))",fontsize=16,color="black",shape="box"];3114 -> 3163[label="",style="solid", color="black", weight=3]; 3115[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpInt (Neg (Succ vuz15800)) (Neg vuz1740) == LT))",fontsize=16,color="black",shape="box"];3115 -> 3164[label="",style="solid", color="black", weight=3]; 3116[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8305[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3116 -> 8305[label="",style="solid", color="burlywood", weight=9]; 8305 -> 3165[label="",style="solid", color="burlywood", weight=3]; 8306[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3116 -> 8306[label="",style="solid", color="burlywood", weight=9]; 8306 -> 3166[label="",style="solid", color="burlywood", weight=3]; 3117[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8307[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3117 -> 8307[label="",style="solid", color="burlywood", weight=9]; 8307 -> 3167[label="",style="solid", color="burlywood", weight=3]; 8308[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3117 -> 8308[label="",style="solid", color="burlywood", weight=9]; 8308 -> 3168[label="",style="solid", color="burlywood", weight=3]; 3218[label="vuz170000",fontsize=16,color="green",shape="box"];3219[label="vuz173000",fontsize=16,color="green",shape="box"];103[label="absReal1 (Integer (Pos (Succ vuz3100))) (not (GT == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];103 -> 116[label="",style="solid", color="black", weight=3]; 104[label="absReal1 (Integer (Pos Zero)) (not False) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];104 -> 117[label="",style="solid", color="black", weight=3]; 105[label="absReal1 (Integer (Neg (Succ vuz3100))) (not True) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];105 -> 118[label="",style="solid", color="black", weight=3]; 106[label="absReal1 (Integer (Neg Zero)) (not False) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];106 -> 119[label="",style="solid", color="black", weight=3]; 107[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];107 -> 120[label="",style="solid", color="black", weight=3]; 108[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];108 -> 121[label="",style="solid", color="black", weight=3]; 109[label="Integer vuz8 * signumReal2 (Integer vuz9) (primEqInt vuz9 (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer vuz9) (primEqInt vuz9 (Pos Zero))) (abs (Integer vuz9))",fontsize=16,color="burlywood",shape="box"];8309[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];109 -> 8309[label="",style="solid", color="burlywood", weight=9]; 8309 -> 122[label="",style="solid", color="burlywood", weight=3]; 8310[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];109 -> 8310[label="",style="solid", color="burlywood", weight=9]; 8310 -> 123[label="",style="solid", color="burlywood", weight=3]; 110[label="primQuotInt (absReal1 (fromInt vuz9) (not (primCmpInt (fromInt vuz9) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (not (primCmpInt (fromInt vuz9) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];110 -> 124[label="",style="solid", color="black", weight=3]; 111[label="absReal1 (Integer vuz9) (not (compare (Integer vuz9) (Integer (Pos Zero)) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer vuz9)) (absReal1 (Integer vuz9) (not (compare (Integer vuz9) (Integer (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];111 -> 125[label="",style="solid", color="black", weight=3]; 3157 -> 4585[label="",style="dashed", color="red", weight=0]; 3157[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpNat (Succ vuz15800) vuz1740 == LT))",fontsize=16,color="magenta"];3157 -> 4586[label="",style="dashed", color="magenta", weight=3]; 3157 -> 4587[label="",style="dashed", color="magenta", weight=3]; 3157 -> 4588[label="",style="dashed", color="magenta", weight=3]; 3158[label="absReal1 (Pos (Succ vuz15800)) (not (GT == LT))",fontsize=16,color="black",shape="triangle"];3158 -> 3179[label="",style="solid", color="black", weight=3]; 3159[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3159 -> 3180[label="",style="solid", color="black", weight=3]; 3160[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3160 -> 3181[label="",style="solid", color="black", weight=3]; 3161[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3161 -> 3182[label="",style="solid", color="black", weight=3]; 3162[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];3162 -> 3183[label="",style="solid", color="black", weight=3]; 3163[label="absReal1 (Neg (Succ vuz15800)) (not (LT == LT))",fontsize=16,color="black",shape="triangle"];3163 -> 3184[label="",style="solid", color="black", weight=3]; 3164 -> 4618[label="",style="dashed", color="red", weight=0]; 3164[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpNat vuz1740 (Succ vuz15800) == LT))",fontsize=16,color="magenta"];3164 -> 4619[label="",style="dashed", color="magenta", weight=3]; 3164 -> 4620[label="",style="dashed", color="magenta", weight=3]; 3164 -> 4621[label="",style="dashed", color="magenta", weight=3]; 3165[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3165 -> 3187[label="",style="solid", color="black", weight=3]; 3166[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3166 -> 3188[label="",style="solid", color="black", weight=3]; 3167[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3167 -> 3189[label="",style="solid", color="black", weight=3]; 3168[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];3168 -> 3190[label="",style="solid", color="black", weight=3]; 116[label="absReal1 (Integer (Pos (Succ vuz3100))) (not False) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];116 -> 130[label="",style="solid", color="black", weight=3]; 117[label="absReal1 (Integer (Pos Zero)) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];117 -> 131[label="",style="solid", color="black", weight=3]; 118[label="absReal1 (Integer (Neg (Succ vuz3100))) False == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];118 -> 132[label="",style="solid", color="black", weight=3]; 119[label="absReal1 (Integer (Neg Zero)) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];119 -> 133[label="",style="solid", color="black", weight=3]; 120[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];120 -> 134[label="",style="solid", color="black", weight=3]; 121[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];121 -> 135[label="",style="solid", color="black", weight=3]; 122[label="Integer vuz8 * signumReal2 (Integer (Pos vuz90)) (primEqInt (Pos vuz90) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos vuz90)) (primEqInt (Pos vuz90) (Pos Zero))) (abs (Integer (Pos vuz90)))",fontsize=16,color="burlywood",shape="box"];8311[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];122 -> 8311[label="",style="solid", color="burlywood", weight=9]; 8311 -> 136[label="",style="solid", color="burlywood", weight=3]; 8312[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];122 -> 8312[label="",style="solid", color="burlywood", weight=9]; 8312 -> 137[label="",style="solid", color="burlywood", weight=3]; 123[label="Integer vuz8 * signumReal2 (Integer (Neg vuz90)) (primEqInt (Neg vuz90) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg vuz90)) (primEqInt (Neg vuz90) (Pos Zero))) (abs (Integer (Neg vuz90)))",fontsize=16,color="burlywood",shape="box"];8313[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];123 -> 8313[label="",style="solid", color="burlywood", weight=9]; 8313 -> 138[label="",style="solid", color="burlywood", weight=3]; 8314[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];123 -> 8314[label="",style="solid", color="burlywood", weight=9]; 8314 -> 139[label="",style="solid", color="burlywood", weight=3]; 124[label="primQuotInt (absReal1 vuz9 (not (primCmpInt vuz9 (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum vuz9) (absReal1 vuz9 (not (primCmpInt vuz9 (fromInt (Pos Zero)) == LT))))",fontsize=16,color="burlywood",shape="box"];8315[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];124 -> 8315[label="",style="solid", color="burlywood", weight=9]; 8315 -> 140[label="",style="solid", color="burlywood", weight=3]; 8316[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];124 -> 8316[label="",style="solid", color="burlywood", weight=9]; 8316 -> 141[label="",style="solid", color="burlywood", weight=3]; 125[label="absReal1 (Integer vuz9) (not (primCmpInt vuz9 (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer vuz9)) (absReal1 (Integer vuz9) (not (primCmpInt vuz9 (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8317[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];125 -> 8317[label="",style="solid", color="burlywood", weight=9]; 8317 -> 142[label="",style="solid", color="burlywood", weight=3]; 8318[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];125 -> 8318[label="",style="solid", color="burlywood", weight=9]; 8318 -> 143[label="",style="solid", color="burlywood", weight=3]; 4586[label="vuz1740",fontsize=16,color="green",shape="box"];4587[label="Succ vuz15800",fontsize=16,color="green",shape="box"];4588[label="vuz15800",fontsize=16,color="green",shape="box"];4585[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat vuz288 vuz289 == LT))",fontsize=16,color="burlywood",shape="triangle"];8319[label="vuz288/Succ vuz2880",fontsize=10,color="white",style="solid",shape="box"];4585 -> 8319[label="",style="solid", color="burlywood", weight=9]; 8319 -> 4616[label="",style="solid", color="burlywood", weight=3]; 8320[label="vuz288/Zero",fontsize=10,color="white",style="solid",shape="box"];4585 -> 8320[label="",style="solid", color="burlywood", weight=9]; 8320 -> 4617[label="",style="solid", color="burlywood", weight=3]; 3179[label="absReal1 (Pos (Succ vuz15800)) (not False)",fontsize=16,color="black",shape="triangle"];3179 -> 3222[label="",style="solid", color="black", weight=3]; 3180[label="absReal1 (Pos Zero) (not (primCmpNat Zero (Succ vuz17400) == LT))",fontsize=16,color="black",shape="box"];3180 -> 3223[label="",style="solid", color="black", weight=3]; 3181[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];3181 -> 3224[label="",style="solid", color="black", weight=3]; 3182[label="absReal1 (Pos Zero) (not (GT == LT))",fontsize=16,color="black",shape="box"];3182 -> 3225[label="",style="solid", color="black", weight=3]; 3183 -> 3181[label="",style="dashed", color="red", weight=0]; 3183[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="magenta"];3184[label="absReal1 (Neg (Succ vuz15800)) (not True)",fontsize=16,color="black",shape="box"];3184 -> 3226[label="",style="solid", color="black", weight=3]; 4619[label="Succ vuz15800",fontsize=16,color="green",shape="box"];4620[label="vuz1740",fontsize=16,color="green",shape="box"];4621[label="vuz15800",fontsize=16,color="green",shape="box"];4618[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat vuz292 vuz293 == LT))",fontsize=16,color="burlywood",shape="triangle"];8321[label="vuz292/Succ vuz2920",fontsize=10,color="white",style="solid",shape="box"];4618 -> 8321[label="",style="solid", color="burlywood", weight=9]; 8321 -> 4649[label="",style="solid", color="burlywood", weight=3]; 8322[label="vuz292/Zero",fontsize=10,color="white",style="solid",shape="box"];4618 -> 8322[label="",style="solid", color="burlywood", weight=9]; 8322 -> 4650[label="",style="solid", color="burlywood", weight=3]; 3187[label="absReal1 (Neg Zero) (not (LT == LT))",fontsize=16,color="black",shape="box"];3187 -> 3229[label="",style="solid", color="black", weight=3]; 3188[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];3188 -> 3230[label="",style="solid", color="black", weight=3]; 3189[label="absReal1 (Neg Zero) (not (primCmpNat (Succ vuz17400) Zero == LT))",fontsize=16,color="black",shape="box"];3189 -> 3231[label="",style="solid", color="black", weight=3]; 3190 -> 3188[label="",style="dashed", color="red", weight=0]; 3190[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="magenta"];130[label="absReal1 (Integer (Pos (Succ vuz3100))) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];130 -> 148[label="",style="solid", color="black", weight=3]; 131[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];131 -> 149[label="",style="solid", color="black", weight=3]; 132[label="absReal0 (Integer (Neg (Succ vuz3100))) otherwise == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];132 -> 150[label="",style="solid", color="black", weight=3]; 133[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];133 -> 151[label="",style="solid", color="black", weight=3]; 134[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (abs vuz9))",fontsize=16,color="burlywood",shape="box"];8323[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];134 -> 8323[label="",style="solid", color="burlywood", weight=9]; 8323 -> 152[label="",style="solid", color="burlywood", weight=3]; 8324[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];134 -> 8324[label="",style="solid", color="burlywood", weight=9]; 8324 -> 153[label="",style="solid", color="burlywood", weight=3]; 135[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (abs vuz9))",fontsize=16,color="burlywood",shape="box"];8325[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];135 -> 8325[label="",style="solid", color="burlywood", weight=9]; 8325 -> 154[label="",style="solid", color="burlywood", weight=3]; 8326[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];135 -> 8326[label="",style="solid", color="burlywood", weight=9]; 8326 -> 155[label="",style="solid", color="burlywood", weight=3]; 136[label="Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (primEqInt (Pos (Succ vuz900)) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (primEqInt (Pos (Succ vuz900)) (Pos Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];136 -> 156[label="",style="solid", color="black", weight=3]; 137[label="Integer vuz8 * signumReal2 (Integer (Pos Zero)) (primEqInt (Pos Zero) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos Zero)) (primEqInt (Pos Zero) (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];137 -> 157[label="",style="solid", color="black", weight=3]; 138[label="Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];138 -> 158[label="",style="solid", color="black", weight=3]; 139[label="Integer vuz8 * signumReal2 (Integer (Neg Zero)) (primEqInt (Neg Zero) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg Zero)) (primEqInt (Neg Zero) (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];139 -> 159[label="",style="solid", color="black", weight=3]; 140[label="primQuotInt (absReal1 (Pos vuz90) (not (primCmpInt (Pos vuz90) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Pos vuz90)) (absReal1 (Pos vuz90) (not (primCmpInt (Pos vuz90) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="burlywood",shape="box"];8327[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];140 -> 8327[label="",style="solid", color="burlywood", weight=9]; 8327 -> 160[label="",style="solid", color="burlywood", weight=3]; 8328[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];140 -> 8328[label="",style="solid", color="burlywood", weight=9]; 8328 -> 161[label="",style="solid", color="burlywood", weight=3]; 141[label="primQuotInt (absReal1 (Neg vuz90) (not (primCmpInt (Neg vuz90) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Neg vuz90)) (absReal1 (Neg vuz90) (not (primCmpInt (Neg vuz90) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="burlywood",shape="box"];8329[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];141 -> 8329[label="",style="solid", color="burlywood", weight=9]; 8329 -> 162[label="",style="solid", color="burlywood", weight=3]; 8330[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];141 -> 8330[label="",style="solid", color="burlywood", weight=9]; 8330 -> 163[label="",style="solid", color="burlywood", weight=3]; 142[label="absReal1 (Integer (Pos vuz90)) (not (primCmpInt (Pos vuz90) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos vuz90))) (absReal1 (Integer (Pos vuz90)) (not (primCmpInt (Pos vuz90) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8331[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];142 -> 8331[label="",style="solid", color="burlywood", weight=9]; 8331 -> 164[label="",style="solid", color="burlywood", weight=3]; 8332[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];142 -> 8332[label="",style="solid", color="burlywood", weight=9]; 8332 -> 165[label="",style="solid", color="burlywood", weight=3]; 143[label="absReal1 (Integer (Neg vuz90)) (not (primCmpInt (Neg vuz90) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg vuz90))) (absReal1 (Integer (Neg vuz90)) (not (primCmpInt (Neg vuz90) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8333[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];143 -> 8333[label="",style="solid", color="burlywood", weight=9]; 8333 -> 166[label="",style="solid", color="burlywood", weight=3]; 8334[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];143 -> 8334[label="",style="solid", color="burlywood", weight=9]; 8334 -> 167[label="",style="solid", color="burlywood", weight=3]; 4616[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat (Succ vuz2880) vuz289 == LT))",fontsize=16,color="burlywood",shape="box"];8335[label="vuz289/Succ vuz2890",fontsize=10,color="white",style="solid",shape="box"];4616 -> 8335[label="",style="solid", color="burlywood", weight=9]; 8335 -> 4651[label="",style="solid", color="burlywood", weight=3]; 8336[label="vuz289/Zero",fontsize=10,color="white",style="solid",shape="box"];4616 -> 8336[label="",style="solid", color="burlywood", weight=9]; 8336 -> 4652[label="",style="solid", color="burlywood", weight=3]; 4617[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat Zero vuz289 == LT))",fontsize=16,color="burlywood",shape="box"];8337[label="vuz289/Succ vuz2890",fontsize=10,color="white",style="solid",shape="box"];4617 -> 8337[label="",style="solid", color="burlywood", weight=9]; 8337 -> 4653[label="",style="solid", color="burlywood", weight=3]; 8338[label="vuz289/Zero",fontsize=10,color="white",style="solid",shape="box"];4617 -> 8338[label="",style="solid", color="burlywood", weight=9]; 8338 -> 4654[label="",style="solid", color="burlywood", weight=3]; 3222[label="absReal1 (Pos (Succ vuz15800)) True",fontsize=16,color="black",shape="box"];3222 -> 3250[label="",style="solid", color="black", weight=3]; 3223[label="absReal1 (Pos Zero) (not (LT == LT))",fontsize=16,color="black",shape="box"];3223 -> 3251[label="",style="solid", color="black", weight=3]; 3224[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="triangle"];3224 -> 3252[label="",style="solid", color="black", weight=3]; 3225 -> 3224[label="",style="dashed", color="red", weight=0]; 3225[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="magenta"];3226[label="absReal1 (Neg (Succ vuz15800)) False",fontsize=16,color="black",shape="box"];3226 -> 3253[label="",style="solid", color="black", weight=3]; 4649[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat (Succ vuz2920) vuz293 == LT))",fontsize=16,color="burlywood",shape="box"];8339[label="vuz293/Succ vuz2930",fontsize=10,color="white",style="solid",shape="box"];4649 -> 8339[label="",style="solid", color="burlywood", weight=9]; 8339 -> 4674[label="",style="solid", color="burlywood", weight=3]; 8340[label="vuz293/Zero",fontsize=10,color="white",style="solid",shape="box"];4649 -> 8340[label="",style="solid", color="burlywood", weight=9]; 8340 -> 4675[label="",style="solid", color="burlywood", weight=3]; 4650[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat Zero vuz293 == LT))",fontsize=16,color="burlywood",shape="box"];8341[label="vuz293/Succ vuz2930",fontsize=10,color="white",style="solid",shape="box"];4650 -> 8341[label="",style="solid", color="burlywood", weight=9]; 8341 -> 4676[label="",style="solid", color="burlywood", weight=3]; 8342[label="vuz293/Zero",fontsize=10,color="white",style="solid",shape="box"];4650 -> 8342[label="",style="solid", color="burlywood", weight=9]; 8342 -> 4677[label="",style="solid", color="burlywood", weight=3]; 3229[label="absReal1 (Neg Zero) (not True)",fontsize=16,color="black",shape="box"];3229 -> 3256[label="",style="solid", color="black", weight=3]; 3230[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="triangle"];3230 -> 3257[label="",style="solid", color="black", weight=3]; 3231[label="absReal1 (Neg Zero) (not (GT == LT))",fontsize=16,color="black",shape="box"];3231 -> 3258[label="",style="solid", color="black", weight=3]; 148[label="Integer (Pos (Succ vuz3100)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];148 -> 172[label="",style="solid", color="black", weight=3]; 149[label="Integer (Pos Zero) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];149 -> 173[label="",style="solid", color="black", weight=3]; 150[label="absReal0 (Integer (Neg (Succ vuz3100))) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];150 -> 174[label="",style="solid", color="black", weight=3]; 151[label="Integer (Neg Zero) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];151 -> 175[label="",style="solid", color="black", weight=3]; 152[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (abs (Pos vuz90)))",fontsize=16,color="burlywood",shape="box"];8343[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];152 -> 8343[label="",style="solid", color="burlywood", weight=9]; 8343 -> 176[label="",style="solid", color="burlywood", weight=3]; 8344[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];152 -> 8344[label="",style="solid", color="burlywood", weight=9]; 8344 -> 177[label="",style="solid", color="burlywood", weight=3]; 153[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (abs (Neg vuz90)))",fontsize=16,color="burlywood",shape="box"];8345[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];153 -> 8345[label="",style="solid", color="burlywood", weight=9]; 8345 -> 178[label="",style="solid", color="burlywood", weight=3]; 8346[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];153 -> 8346[label="",style="solid", color="burlywood", weight=9]; 8346 -> 179[label="",style="solid", color="burlywood", weight=3]; 154[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (abs (Pos vuz90)))",fontsize=16,color="burlywood",shape="box"];8347[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];154 -> 8347[label="",style="solid", color="burlywood", weight=9]; 8347 -> 180[label="",style="solid", color="burlywood", weight=3]; 8348[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];154 -> 8348[label="",style="solid", color="burlywood", weight=9]; 8348 -> 181[label="",style="solid", color="burlywood", weight=3]; 155[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (abs (Neg vuz90)))",fontsize=16,color="burlywood",shape="box"];8349[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];155 -> 8349[label="",style="solid", color="burlywood", weight=9]; 8349 -> 182[label="",style="solid", color="burlywood", weight=3]; 8350[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];155 -> 8350[label="",style="solid", color="burlywood", weight=9]; 8350 -> 183[label="",style="solid", color="burlywood", weight=3]; 156[label="Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) False `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) False) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];156 -> 184[label="",style="solid", color="black", weight=3]; 157[label="Integer vuz8 * signumReal2 (Integer (Pos Zero)) True `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos Zero)) True) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];157 -> 185[label="",style="solid", color="black", weight=3]; 158[label="Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];158 -> 186[label="",style="solid", color="black", weight=3]; 159[label="Integer vuz8 * signumReal2 (Integer (Neg Zero)) True `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg Zero)) True) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];159 -> 187[label="",style="solid", color="black", weight=3]; 160[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];160 -> 188[label="",style="solid", color="black", weight=3]; 161[label="primQuotInt (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];161 -> 189[label="",style="solid", color="black", weight=3]; 162[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];162 -> 190[label="",style="solid", color="black", weight=3]; 163[label="primQuotInt (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];163 -> 191[label="",style="solid", color="black", weight=3]; 164[label="absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];164 -> 192[label="",style="solid", color="black", weight=3]; 165[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];165 -> 193[label="",style="solid", color="black", weight=3]; 166[label="absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];166 -> 194[label="",style="solid", color="black", weight=3]; 167[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];167 -> 195[label="",style="solid", color="black", weight=3]; 4651[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat (Succ vuz2880) (Succ vuz2890) == LT))",fontsize=16,color="black",shape="box"];4651 -> 4678[label="",style="solid", color="black", weight=3]; 4652[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat (Succ vuz2880) Zero == LT))",fontsize=16,color="black",shape="box"];4652 -> 4679[label="",style="solid", color="black", weight=3]; 4653[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat Zero (Succ vuz2890) == LT))",fontsize=16,color="black",shape="box"];4653 -> 4680[label="",style="solid", color="black", weight=3]; 4654[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];4654 -> 4681[label="",style="solid", color="black", weight=3]; 3250[label="Pos (Succ vuz15800)",fontsize=16,color="green",shape="box"];3251[label="absReal1 (Pos Zero) (not True)",fontsize=16,color="black",shape="box"];3251 -> 3267[label="",style="solid", color="black", weight=3]; 3252[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];3252 -> 3268[label="",style="solid", color="black", weight=3]; 3253[label="absReal0 (Neg (Succ vuz15800)) otherwise",fontsize=16,color="black",shape="box"];3253 -> 3269[label="",style="solid", color="black", weight=3]; 4674[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat (Succ vuz2920) (Succ vuz2930) == LT))",fontsize=16,color="black",shape="box"];4674 -> 4695[label="",style="solid", color="black", weight=3]; 4675[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat (Succ vuz2920) Zero == LT))",fontsize=16,color="black",shape="box"];4675 -> 4696[label="",style="solid", color="black", weight=3]; 4676[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat Zero (Succ vuz2930) == LT))",fontsize=16,color="black",shape="box"];4676 -> 4697[label="",style="solid", color="black", weight=3]; 4677[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];4677 -> 4698[label="",style="solid", color="black", weight=3]; 3256[label="absReal1 (Neg Zero) False",fontsize=16,color="black",shape="box"];3256 -> 3274[label="",style="solid", color="black", weight=3]; 3257[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];3257 -> 3275[label="",style="solid", color="black", weight=3]; 3258 -> 3230[label="",style="dashed", color="red", weight=0]; 3258[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="magenta"];172[label="Integer (Pos (Succ vuz3100)) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];172 -> 200[label="",style="solid", color="black", weight=3]; 173 -> 2647[label="",style="dashed", color="red", weight=0]; 173[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];173 -> 2649[label="",style="dashed", color="magenta", weight=3]; 173 -> 2650[label="",style="dashed", color="magenta", weight=3]; 174[label="`negate` Integer (Neg (Succ vuz3100)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];174 -> 201[label="",style="solid", color="black", weight=3]; 175 -> 2647[label="",style="dashed", color="red", weight=0]; 175[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];175 -> 2651[label="",style="dashed", color="magenta", weight=3]; 175 -> 2652[label="",style="dashed", color="magenta", weight=3]; 176[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];176 -> 202[label="",style="solid", color="black", weight=3]; 177[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];177 -> 203[label="",style="solid", color="black", weight=3]; 178[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];178 -> 204[label="",style="solid", color="black", weight=3]; 179[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];179 -> 205[label="",style="solid", color="black", weight=3]; 180[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];180 -> 206[label="",style="solid", color="black", weight=3]; 181[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];181 -> 207[label="",style="solid", color="black", weight=3]; 182[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];182 -> 208[label="",style="solid", color="black", weight=3]; 183[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];183 -> 209[label="",style="solid", color="black", weight=3]; 184[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];184 -> 210[label="",style="solid", color="black", weight=3]; 185[label="Integer vuz8 * fromInt (Pos Zero) `quot` reduce2D (Integer vuz8 * fromInt (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];185 -> 211[label="",style="solid", color="black", weight=3]; 186[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];186 -> 212[label="",style="solid", color="black", weight=3]; 187[label="Integer vuz8 * fromInt (Pos Zero) `quot` reduce2D (Integer vuz8 * fromInt (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];187 -> 213[label="",style="solid", color="black", weight=3]; 188[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];188 -> 214[label="",style="solid", color="black", weight=3]; 189[label="primQuotInt (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];189 -> 215[label="",style="solid", color="black", weight=3]; 190[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];190 -> 216[label="",style="solid", color="black", weight=3]; 191[label="primQuotInt (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];191 -> 217[label="",style="solid", color="black", weight=3]; 192[label="absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpNat (Succ vuz900) Zero == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpNat (Succ vuz900) Zero == LT)))",fontsize=16,color="black",shape="box"];192 -> 218[label="",style="solid", color="black", weight=3]; 193[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];193 -> 219[label="",style="solid", color="black", weight=3]; 194[label="absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];194 -> 220[label="",style="solid", color="black", weight=3]; 195[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];195 -> 221[label="",style="solid", color="black", weight=3]; 4678 -> 4585[label="",style="dashed", color="red", weight=0]; 4678[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat vuz2880 vuz2890 == LT))",fontsize=16,color="magenta"];4678 -> 4699[label="",style="dashed", color="magenta", weight=3]; 4678 -> 4700[label="",style="dashed", color="magenta", weight=3]; 4679 -> 3158[label="",style="dashed", color="red", weight=0]; 4679[label="absReal1 (Pos (Succ vuz287)) (not (GT == LT))",fontsize=16,color="magenta"];4679 -> 4701[label="",style="dashed", color="magenta", weight=3]; 4680[label="absReal1 (Pos (Succ vuz287)) (not (LT == LT))",fontsize=16,color="black",shape="box"];4680 -> 4702[label="",style="solid", color="black", weight=3]; 4681[label="absReal1 (Pos (Succ vuz287)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4681 -> 4703[label="",style="solid", color="black", weight=3]; 3267[label="absReal1 (Pos Zero) False",fontsize=16,color="black",shape="box"];3267 -> 3311[label="",style="solid", color="black", weight=3]; 3268[label="Pos Zero",fontsize=16,color="green",shape="box"];3269[label="absReal0 (Neg (Succ vuz15800)) True",fontsize=16,color="black",shape="box"];3269 -> 3312[label="",style="solid", color="black", weight=3]; 4695 -> 4618[label="",style="dashed", color="red", weight=0]; 4695[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat vuz2920 vuz2930 == LT))",fontsize=16,color="magenta"];4695 -> 4751[label="",style="dashed", color="magenta", weight=3]; 4695 -> 4752[label="",style="dashed", color="magenta", weight=3]; 4696[label="absReal1 (Neg (Succ vuz291)) (not (GT == LT))",fontsize=16,color="black",shape="box"];4696 -> 4753[label="",style="solid", color="black", weight=3]; 4697 -> 3163[label="",style="dashed", color="red", weight=0]; 4697[label="absReal1 (Neg (Succ vuz291)) (not (LT == LT))",fontsize=16,color="magenta"];4697 -> 4754[label="",style="dashed", color="magenta", weight=3]; 4698[label="absReal1 (Neg (Succ vuz291)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4698 -> 4755[label="",style="solid", color="black", weight=3]; 3274[label="absReal0 (Neg Zero) otherwise",fontsize=16,color="black",shape="box"];3274 -> 3317[label="",style="solid", color="black", weight=3]; 3275[label="Neg Zero",fontsize=16,color="green",shape="box"];200 -> 2647[label="",style="dashed", color="red", weight=0]; 200[label="primEqInt (Pos (Succ vuz3100)) (Pos Zero)",fontsize=16,color="magenta"];200 -> 2653[label="",style="dashed", color="magenta", weight=3]; 200 -> 2654[label="",style="dashed", color="magenta", weight=3]; 2649[label="Pos Zero",fontsize=16,color="green",shape="box"];2650[label="Pos Zero",fontsize=16,color="green",shape="box"];201[label="Integer (primNegInt (Neg (Succ vuz3100))) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];201 -> 224[label="",style="solid", color="black", weight=3]; 2651[label="Pos Zero",fontsize=16,color="green",shape="box"];2652[label="Neg Zero",fontsize=16,color="green",shape="box"];202 -> 225[label="",style="dashed", color="red", weight=0]; 202[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];202 -> 226[label="",style="dashed", color="magenta", weight=3]; 202 -> 227[label="",style="dashed", color="magenta", weight=3]; 203 -> 228[label="",style="dashed", color="red", weight=0]; 203[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="magenta"];203 -> 229[label="",style="dashed", color="magenta", weight=3]; 203 -> 230[label="",style="dashed", color="magenta", weight=3]; 204[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];204 -> 231[label="",style="solid", color="black", weight=3]; 205 -> 232[label="",style="dashed", color="red", weight=0]; 205[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="magenta"];205 -> 233[label="",style="dashed", color="magenta", weight=3]; 205 -> 234[label="",style="dashed", color="magenta", weight=3]; 206 -> 235[label="",style="dashed", color="red", weight=0]; 206[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];206 -> 236[label="",style="dashed", color="magenta", weight=3]; 206 -> 237[label="",style="dashed", color="magenta", weight=3]; 207 -> 238[label="",style="dashed", color="red", weight=0]; 207[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="magenta"];207 -> 239[label="",style="dashed", color="magenta", weight=3]; 207 -> 240[label="",style="dashed", color="magenta", weight=3]; 208[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];208 -> 241[label="",style="solid", color="black", weight=3]; 209 -> 242[label="",style="dashed", color="red", weight=0]; 209[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="magenta"];209 -> 243[label="",style="dashed", color="magenta", weight=3]; 209 -> 244[label="",style="dashed", color="magenta", weight=3]; 210[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];210 -> 245[label="",style="solid", color="black", weight=3]; 211[label="Integer vuz8 * Integer (Pos Zero) `quot` reduce2D (Integer vuz8 * Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];211 -> 246[label="",style="solid", color="black", weight=3]; 212[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];212 -> 247[label="",style="solid", color="black", weight=3]; 213[label="Integer vuz8 * Integer (Pos Zero) `quot` reduce2D (Integer vuz8 * Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];213 -> 248[label="",style="solid", color="black", weight=3]; 214[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (primCmpNat (Succ vuz900) Zero == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (primCmpNat (Succ vuz900) Zero == LT))))",fontsize=16,color="black",shape="box"];214 -> 249[label="",style="solid", color="black", weight=3]; 215[label="primQuotInt (absReal1 (Pos Zero) (not (EQ == LT))) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not (EQ == LT))))",fontsize=16,color="black",shape="box"];215 -> 250[label="",style="solid", color="black", weight=3]; 216[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not (LT == LT))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not (LT == LT))))",fontsize=16,color="black",shape="box"];216 -> 251[label="",style="solid", color="black", weight=3]; 217[label="primQuotInt (absReal1 (Neg Zero) (not (EQ == LT))) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not (EQ == LT))))",fontsize=16,color="black",shape="box"];217 -> 252[label="",style="solid", color="black", weight=3]; 218[label="absReal1 (Integer (Pos (Succ vuz900))) (not (GT == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];218 -> 253[label="",style="solid", color="black", weight=3]; 219[label="absReal1 (Integer (Pos Zero)) (not False) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="box"];219 -> 254[label="",style="solid", color="black", weight=3]; 220[label="absReal1 (Integer (Neg (Succ vuz900))) (not True) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) (not True))",fontsize=16,color="black",shape="box"];220 -> 255[label="",style="solid", color="black", weight=3]; 221[label="absReal1 (Integer (Neg Zero)) (not False) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="box"];221 -> 256[label="",style="solid", color="black", weight=3]; 4699[label="vuz2890",fontsize=16,color="green",shape="box"];4700[label="vuz2880",fontsize=16,color="green",shape="box"];4701[label="vuz287",fontsize=16,color="green",shape="box"];4702[label="absReal1 (Pos (Succ vuz287)) (not True)",fontsize=16,color="black",shape="box"];4702 -> 4756[label="",style="solid", color="black", weight=3]; 4703 -> 3179[label="",style="dashed", color="red", weight=0]; 4703[label="absReal1 (Pos (Succ vuz287)) (not False)",fontsize=16,color="magenta"];4703 -> 4757[label="",style="dashed", color="magenta", weight=3]; 3311[label="absReal0 (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];3311 -> 3356[label="",style="solid", color="black", weight=3]; 3312[label="`negate` Neg (Succ vuz15800)",fontsize=16,color="black",shape="box"];3312 -> 3357[label="",style="solid", color="black", weight=3]; 4751[label="vuz2930",fontsize=16,color="green",shape="box"];4752[label="vuz2920",fontsize=16,color="green",shape="box"];4753[label="absReal1 (Neg (Succ vuz291)) (not False)",fontsize=16,color="black",shape="triangle"];4753 -> 4780[label="",style="solid", color="black", weight=3]; 4754[label="vuz291",fontsize=16,color="green",shape="box"];4755 -> 4753[label="",style="dashed", color="red", weight=0]; 4755[label="absReal1 (Neg (Succ vuz291)) (not False)",fontsize=16,color="magenta"];3317[label="absReal0 (Neg Zero) True",fontsize=16,color="black",shape="box"];3317 -> 3363[label="",style="solid", color="black", weight=3]; 2653[label="Pos Zero",fontsize=16,color="green",shape="box"];2654[label="Pos (Succ vuz3100)",fontsize=16,color="green",shape="box"];224[label="Integer (primNegInt (Neg (Succ vuz3100))) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];224 -> 258[label="",style="solid", color="black", weight=3]; 226 -> 2647[label="",style="dashed", color="red", weight=0]; 226[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];226 -> 2661[label="",style="dashed", color="magenta", weight=3]; 226 -> 2662[label="",style="dashed", color="magenta", weight=3]; 227 -> 2647[label="",style="dashed", color="red", weight=0]; 227[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];227 -> 2663[label="",style="dashed", color="magenta", weight=3]; 227 -> 2664[label="",style="dashed", color="magenta", weight=3]; 225[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz11)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz12)) (abs (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8351[label="vuz11/False",fontsize=10,color="white",style="solid",shape="box"];225 -> 8351[label="",style="solid", color="burlywood", weight=9]; 8351 -> 261[label="",style="solid", color="burlywood", weight=3]; 8352[label="vuz11/True",fontsize=10,color="white",style="solid",shape="box"];225 -> 8352[label="",style="solid", color="burlywood", weight=9]; 8352 -> 262[label="",style="solid", color="burlywood", weight=3]; 229 -> 2647[label="",style="dashed", color="red", weight=0]; 229[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];229 -> 2665[label="",style="dashed", color="magenta", weight=3]; 229 -> 2666[label="",style="dashed", color="magenta", weight=3]; 230 -> 2647[label="",style="dashed", color="red", weight=0]; 230[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];230 -> 2667[label="",style="dashed", color="magenta", weight=3]; 230 -> 2668[label="",style="dashed", color="magenta", weight=3]; 228[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz13)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz14)) (abs (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8353[label="vuz13/False",fontsize=10,color="white",style="solid",shape="box"];228 -> 8353[label="",style="solid", color="burlywood", weight=9]; 8353 -> 263[label="",style="solid", color="burlywood", weight=3]; 8354[label="vuz13/True",fontsize=10,color="white",style="solid",shape="box"];228 -> 8354[label="",style="solid", color="burlywood", weight=9]; 8354 -> 264[label="",style="solid", color="burlywood", weight=3]; 231[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];231 -> 265[label="",style="solid", color="black", weight=3]; 233 -> 2647[label="",style="dashed", color="red", weight=0]; 233[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];233 -> 2669[label="",style="dashed", color="magenta", weight=3]; 233 -> 2670[label="",style="dashed", color="magenta", weight=3]; 234 -> 2647[label="",style="dashed", color="red", weight=0]; 234[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];234 -> 2671[label="",style="dashed", color="magenta", weight=3]; 234 -> 2672[label="",style="dashed", color="magenta", weight=3]; 232[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz15)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz16)) (abs (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8355[label="vuz15/False",fontsize=10,color="white",style="solid",shape="box"];232 -> 8355[label="",style="solid", color="burlywood", weight=9]; 8355 -> 266[label="",style="solid", color="burlywood", weight=3]; 8356[label="vuz15/True",fontsize=10,color="white",style="solid",shape="box"];232 -> 8356[label="",style="solid", color="burlywood", weight=9]; 8356 -> 267[label="",style="solid", color="burlywood", weight=3]; 236 -> 2647[label="",style="dashed", color="red", weight=0]; 236[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];236 -> 2673[label="",style="dashed", color="magenta", weight=3]; 236 -> 2674[label="",style="dashed", color="magenta", weight=3]; 237 -> 2647[label="",style="dashed", color="red", weight=0]; 237[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];237 -> 2675[label="",style="dashed", color="magenta", weight=3]; 237 -> 2676[label="",style="dashed", color="magenta", weight=3]; 235[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz17)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz18)) (abs (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8357[label="vuz17/False",fontsize=10,color="white",style="solid",shape="box"];235 -> 8357[label="",style="solid", color="burlywood", weight=9]; 8357 -> 270[label="",style="solid", color="burlywood", weight=3]; 8358[label="vuz17/True",fontsize=10,color="white",style="solid",shape="box"];235 -> 8358[label="",style="solid", color="burlywood", weight=9]; 8358 -> 271[label="",style="solid", color="burlywood", weight=3]; 239 -> 2647[label="",style="dashed", color="red", weight=0]; 239[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];239 -> 2677[label="",style="dashed", color="magenta", weight=3]; 239 -> 2678[label="",style="dashed", color="magenta", weight=3]; 240 -> 2647[label="",style="dashed", color="red", weight=0]; 240[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];240 -> 2679[label="",style="dashed", color="magenta", weight=3]; 240 -> 2680[label="",style="dashed", color="magenta", weight=3]; 238[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz19)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz20)) (abs (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8359[label="vuz19/False",fontsize=10,color="white",style="solid",shape="box"];238 -> 8359[label="",style="solid", color="burlywood", weight=9]; 8359 -> 272[label="",style="solid", color="burlywood", weight=3]; 8360[label="vuz19/True",fontsize=10,color="white",style="solid",shape="box"];238 -> 8360[label="",style="solid", color="burlywood", weight=9]; 8360 -> 273[label="",style="solid", color="burlywood", weight=3]; 241[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];241 -> 274[label="",style="solid", color="black", weight=3]; 243 -> 2647[label="",style="dashed", color="red", weight=0]; 243[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];243 -> 2681[label="",style="dashed", color="magenta", weight=3]; 243 -> 2682[label="",style="dashed", color="magenta", weight=3]; 244 -> 2647[label="",style="dashed", color="red", weight=0]; 244[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];244 -> 2683[label="",style="dashed", color="magenta", weight=3]; 244 -> 2684[label="",style="dashed", color="magenta", weight=3]; 242[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz21)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz22)) (abs (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8361[label="vuz21/False",fontsize=10,color="white",style="solid",shape="box"];242 -> 8361[label="",style="solid", color="burlywood", weight=9]; 8361 -> 275[label="",style="solid", color="burlywood", weight=3]; 8362[label="vuz21/True",fontsize=10,color="white",style="solid",shape="box"];242 -> 8362[label="",style="solid", color="burlywood", weight=9]; 8362 -> 276[label="",style="solid", color="burlywood", weight=3]; 245[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];245 -> 277[label="",style="solid", color="black", weight=3]; 246[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` reduce2D (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];246 -> 278[label="",style="solid", color="black", weight=3]; 247[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];247 -> 279[label="",style="solid", color="black", weight=3]; 248[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` reduce2D (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];248 -> 280[label="",style="solid", color="black", weight=3]; 249[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (GT == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (GT == LT))))",fontsize=16,color="black",shape="box"];249 -> 281[label="",style="solid", color="black", weight=3]; 250[label="primQuotInt (absReal1 (Pos Zero) (not False)) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not False)))",fontsize=16,color="black",shape="box"];250 -> 282[label="",style="solid", color="black", weight=3]; 251[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not True)) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not True)))",fontsize=16,color="black",shape="box"];251 -> 283[label="",style="solid", color="black", weight=3]; 252[label="primQuotInt (absReal1 (Neg Zero) (not False)) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not False)))",fontsize=16,color="black",shape="box"];252 -> 284[label="",style="solid", color="black", weight=3]; 253[label="absReal1 (Integer (Pos (Succ vuz900))) (not False) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not False))",fontsize=16,color="black",shape="box"];253 -> 285[label="",style="solid", color="black", weight=3]; 254[label="absReal1 (Integer (Pos Zero)) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];254 -> 286[label="",style="solid", color="black", weight=3]; 255[label="absReal1 (Integer (Neg (Succ vuz900))) False `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) False)",fontsize=16,color="black",shape="box"];255 -> 287[label="",style="solid", color="black", weight=3]; 256[label="absReal1 (Integer (Neg Zero)) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];256 -> 288[label="",style="solid", color="black", weight=3]; 4756[label="absReal1 (Pos (Succ vuz287)) False",fontsize=16,color="black",shape="box"];4756 -> 4781[label="",style="solid", color="black", weight=3]; 4757[label="vuz287",fontsize=16,color="green",shape="box"];3356[label="absReal0 (Pos Zero) True",fontsize=16,color="black",shape="box"];3356 -> 3377[label="",style="solid", color="black", weight=3]; 3357 -> 2686[label="",style="dashed", color="red", weight=0]; 3357[label="primNegInt (Neg (Succ vuz15800))",fontsize=16,color="magenta"];3357 -> 3378[label="",style="dashed", color="magenta", weight=3]; 4780[label="absReal1 (Neg (Succ vuz291)) True",fontsize=16,color="black",shape="box"];4780 -> 4827[label="",style="solid", color="black", weight=3]; 3363[label="`negate` Neg Zero",fontsize=16,color="black",shape="box"];3363 -> 3384[label="",style="solid", color="black", weight=3]; 258 -> 2647[label="",style="dashed", color="red", weight=0]; 258[label="primEqInt (primNegInt (Neg (Succ vuz3100))) (Pos Zero)",fontsize=16,color="magenta"];258 -> 2685[label="",style="dashed", color="magenta", weight=3]; 258 -> 2686[label="",style="dashed", color="magenta", weight=3]; 2661[label="Pos Zero",fontsize=16,color="green",shape="box"];2662[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];2663[label="Pos Zero",fontsize=16,color="green",shape="box"];2664[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];261[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz12)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];261 -> 291[label="",style="solid", color="black", weight=3]; 262[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz12)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];262 -> 292[label="",style="solid", color="black", weight=3]; 2665[label="Pos Zero",fontsize=16,color="green",shape="box"];2666[label="Pos Zero",fontsize=16,color="green",shape="box"];2667[label="Pos Zero",fontsize=16,color="green",shape="box"];2668[label="Pos Zero",fontsize=16,color="green",shape="box"];263[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz14)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];263 -> 293[label="",style="solid", color="black", weight=3]; 264[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz14)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];264 -> 294[label="",style="solid", color="black", weight=3]; 265[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];265 -> 295[label="",style="solid", color="black", weight=3]; 2669[label="Pos Zero",fontsize=16,color="green",shape="box"];2670[label="Neg Zero",fontsize=16,color="green",shape="box"];2671[label="Pos Zero",fontsize=16,color="green",shape="box"];2672[label="Neg Zero",fontsize=16,color="green",shape="box"];266[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz16)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];266 -> 296[label="",style="solid", color="black", weight=3]; 267[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz16)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];267 -> 297[label="",style="solid", color="black", weight=3]; 2673[label="Pos Zero",fontsize=16,color="green",shape="box"];2674[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];2675[label="Pos Zero",fontsize=16,color="green",shape="box"];2676[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];270[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz18)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];270 -> 298[label="",style="solid", color="black", weight=3]; 271[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz18)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];271 -> 299[label="",style="solid", color="black", weight=3]; 2677[label="Pos Zero",fontsize=16,color="green",shape="box"];2678[label="Pos Zero",fontsize=16,color="green",shape="box"];2679[label="Pos Zero",fontsize=16,color="green",shape="box"];2680[label="Pos Zero",fontsize=16,color="green",shape="box"];272[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz20)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];272 -> 300[label="",style="solid", color="black", weight=3]; 273[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz20)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];273 -> 301[label="",style="solid", color="black", weight=3]; 274[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];274 -> 302[label="",style="solid", color="black", weight=3]; 2681[label="Pos Zero",fontsize=16,color="green",shape="box"];2682[label="Neg Zero",fontsize=16,color="green",shape="box"];2683[label="Pos Zero",fontsize=16,color="green",shape="box"];2684[label="Neg Zero",fontsize=16,color="green",shape="box"];275[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz22)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];275 -> 303[label="",style="solid", color="black", weight=3]; 276[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz22)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];276 -> 304[label="",style="solid", color="black", weight=3]; 277[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];277 -> 305[label="",style="solid", color="black", weight=3]; 278[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];278 -> 306[label="",style="solid", color="black", weight=3]; 279[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];279 -> 307[label="",style="solid", color="black", weight=3]; 280[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];280 -> 308[label="",style="solid", color="black", weight=3]; 281[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not False)) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not False)))",fontsize=16,color="black",shape="box"];281 -> 309[label="",style="solid", color="black", weight=3]; 282[label="primQuotInt (absReal1 (Pos Zero) True) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) True))",fontsize=16,color="black",shape="box"];282 -> 310[label="",style="solid", color="black", weight=3]; 283[label="primQuotInt (absReal1 (Neg (Succ vuz900)) False) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) False))",fontsize=16,color="black",shape="box"];283 -> 311[label="",style="solid", color="black", weight=3]; 284[label="primQuotInt (absReal1 (Neg Zero) True) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) True))",fontsize=16,color="black",shape="box"];284 -> 312[label="",style="solid", color="black", weight=3]; 285[label="absReal1 (Integer (Pos (Succ vuz900))) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) True)",fontsize=16,color="black",shape="box"];285 -> 313[label="",style="solid", color="black", weight=3]; 286[label="Integer (Pos Zero) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];286 -> 314[label="",style="solid", color="black", weight=3]; 287[label="absReal0 (Integer (Neg (Succ vuz900))) otherwise `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal0 (Integer (Neg (Succ vuz900))) otherwise)",fontsize=16,color="black",shape="box"];287 -> 315[label="",style="solid", color="black", weight=3]; 288[label="Integer (Neg Zero) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];288 -> 316[label="",style="solid", color="black", weight=3]; 4781[label="absReal0 (Pos (Succ vuz287)) otherwise",fontsize=16,color="black",shape="box"];4781 -> 4828[label="",style="solid", color="black", weight=3]; 3377[label="`negate` Pos Zero",fontsize=16,color="black",shape="box"];3377 -> 3403[label="",style="solid", color="black", weight=3]; 3378[label="vuz15800",fontsize=16,color="green",shape="box"];2686[label="primNegInt (Neg (Succ vuz3100))",fontsize=16,color="black",shape="triangle"];2686 -> 2902[label="",style="solid", color="black", weight=3]; 4827[label="Neg (Succ vuz291)",fontsize=16,color="green",shape="box"];3384[label="primNegInt (Neg Zero)",fontsize=16,color="black",shape="box"];3384 -> 3409[label="",style="solid", color="black", weight=3]; 2685[label="Pos Zero",fontsize=16,color="green",shape="box"];291[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];291 -> 318[label="",style="solid", color="black", weight=3]; 292[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];292 -> 319[label="",style="solid", color="black", weight=3]; 293[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];293 -> 320[label="",style="solid", color="black", weight=3]; 294[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];294 -> 321[label="",style="solid", color="black", weight=3]; 295[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];295 -> 322[label="",style="solid", color="black", weight=3]; 296[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];296 -> 323[label="",style="solid", color="black", weight=3]; 297[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];297 -> 324[label="",style="solid", color="black", weight=3]; 298[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];298 -> 325[label="",style="solid", color="black", weight=3]; 299[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];299 -> 326[label="",style="solid", color="black", weight=3]; 300[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];300 -> 327[label="",style="solid", color="black", weight=3]; 301[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];301 -> 328[label="",style="solid", color="black", weight=3]; 302[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];302 -> 329[label="",style="solid", color="black", weight=3]; 303[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];303 -> 330[label="",style="solid", color="black", weight=3]; 304[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];304 -> 331[label="",style="solid", color="black", weight=3]; 305[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];305 -> 332[label="",style="solid", color="black", weight=3]; 306[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd3 (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];306 -> 333[label="",style="solid", color="black", weight=3]; 307[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];307 -> 334[label="",style="solid", color="black", weight=3]; 308[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd3 (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];308 -> 335[label="",style="solid", color="black", weight=3]; 309[label="primQuotInt (absReal1 (Pos (Succ vuz900)) True) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) True))",fontsize=16,color="black",shape="box"];309 -> 336[label="",style="solid", color="black", weight=3]; 310 -> 5417[label="",style="dashed", color="red", weight=0]; 310[label="primQuotInt (Pos Zero) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (Pos Zero))",fontsize=16,color="magenta"];310 -> 5418[label="",style="dashed", color="magenta", weight=3]; 310 -> 5419[label="",style="dashed", color="magenta", weight=3]; 311[label="primQuotInt (absReal0 (Neg (Succ vuz900)) otherwise) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal0 (Neg (Succ vuz900)) otherwise))",fontsize=16,color="black",shape="box"];311 -> 338[label="",style="solid", color="black", weight=3]; 312 -> 6450[label="",style="dashed", color="red", weight=0]; 312[label="primQuotInt (Neg Zero) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (Neg Zero))",fontsize=16,color="magenta"];312 -> 6451[label="",style="dashed", color="magenta", weight=3]; 312 -> 6452[label="",style="dashed", color="magenta", weight=3]; 313[label="Integer (Pos (Succ vuz900)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];313 -> 340[label="",style="solid", color="black", weight=3]; 314[label="Integer (Pos Zero) `quot` gcd (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];314 -> 341[label="",style="solid", color="black", weight=3]; 315[label="absReal0 (Integer (Neg (Succ vuz900))) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal0 (Integer (Neg (Succ vuz900))) True)",fontsize=16,color="black",shape="box"];315 -> 342[label="",style="solid", color="black", weight=3]; 316[label="Integer (Neg Zero) `quot` gcd (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];316 -> 343[label="",style="solid", color="black", weight=3]; 4828[label="absReal0 (Pos (Succ vuz287)) True",fontsize=16,color="black",shape="box"];4828 -> 4832[label="",style="solid", color="black", weight=3]; 3403[label="primNegInt (Pos Zero)",fontsize=16,color="black",shape="box"];3403 -> 3454[label="",style="solid", color="black", weight=3]; 2902[label="Pos (Succ vuz3100)",fontsize=16,color="green",shape="box"];3409[label="Pos Zero",fontsize=16,color="green",shape="box"];318[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];318 -> 344[label="",style="solid", color="black", weight=3]; 319[label="primQuotInt (primMulInt (Pos vuz80) (Pos Zero)) (reduce2D (primMulInt (Pos vuz80) (Pos Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];319 -> 345[label="",style="solid", color="black", weight=3]; 320[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];320 -> 346[label="",style="solid", color="black", weight=3]; 321[label="primQuotInt (primMulInt (Pos vuz80) (Pos Zero)) (reduce2D (primMulInt (Pos vuz80) (Pos Zero)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];321 -> 347[label="",style="solid", color="black", weight=3]; 322[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];322 -> 348[label="",style="solid", color="black", weight=3]; 323[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];323 -> 349[label="",style="solid", color="black", weight=3]; 324[label="primQuotInt (primMulInt (Pos vuz80) (Pos Zero)) (reduce2D (primMulInt (Pos vuz80) (Pos Zero)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];324 -> 350[label="",style="solid", color="black", weight=3]; 325[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];325 -> 351[label="",style="solid", color="black", weight=3]; 326[label="primQuotInt (primMulInt (Neg vuz80) (Pos Zero)) (reduce2D (primMulInt (Neg vuz80) (Pos Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];326 -> 352[label="",style="solid", color="black", weight=3]; 327[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];327 -> 353[label="",style="solid", color="black", weight=3]; 328[label="primQuotInt (primMulInt (Neg vuz80) (Pos Zero)) (reduce2D (primMulInt (Neg vuz80) (Pos Zero)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];328 -> 354[label="",style="solid", color="black", weight=3]; 329[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];329 -> 355[label="",style="solid", color="black", weight=3]; 330[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];330 -> 356[label="",style="solid", color="black", weight=3]; 331[label="primQuotInt (primMulInt (Neg vuz80) (Pos Zero)) (reduce2D (primMulInt (Neg vuz80) (Pos Zero)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];331 -> 357[label="",style="solid", color="black", weight=3]; 332[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];332 -> 358[label="",style="solid", color="black", weight=3]; 333[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];333 -> 359[label="",style="solid", color="black", weight=3]; 334[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];334 -> 360[label="",style="solid", color="black", weight=3]; 335[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];335 -> 361[label="",style="solid", color="black", weight=3]; 336 -> 5417[label="",style="dashed", color="red", weight=0]; 336[label="primQuotInt (Pos (Succ vuz900)) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900)))",fontsize=16,color="magenta"];336 -> 5420[label="",style="dashed", color="magenta", weight=3]; 336 -> 5421[label="",style="dashed", color="magenta", weight=3]; 5418[label="Zero",fontsize=16,color="green",shape="box"];5419 -> 5607[label="",style="dashed", color="red", weight=0]; 5419[label="reduce2D (fromInt vuz8 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5419 -> 5608[label="",style="dashed", color="magenta", weight=3]; 5417[label="primQuotInt (Pos vuz301) vuz319",fontsize=16,color="burlywood",shape="triangle"];8363[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];5417 -> 8363[label="",style="solid", color="burlywood", weight=9]; 8363 -> 5609[label="",style="solid", color="burlywood", weight=3]; 8364[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];5417 -> 8364[label="",style="solid", color="burlywood", weight=9]; 8364 -> 5610[label="",style="solid", color="burlywood", weight=3]; 338[label="primQuotInt (absReal0 (Neg (Succ vuz900)) True) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal0 (Neg (Succ vuz900)) True))",fontsize=16,color="black",shape="box"];338 -> 364[label="",style="solid", color="black", weight=3]; 6451[label="Zero",fontsize=16,color="green",shape="box"];6452 -> 6857[label="",style="dashed", color="red", weight=0]; 6452[label="reduce2D (fromInt vuz8 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6452 -> 6858[label="",style="dashed", color="magenta", weight=3]; 6450[label="primQuotInt (Neg vuz381) vuz407",fontsize=16,color="burlywood",shape="triangle"];8365[label="vuz407/Pos vuz4070",fontsize=10,color="white",style="solid",shape="box"];6450 -> 8365[label="",style="solid", color="burlywood", weight=9]; 8365 -> 6859[label="",style="solid", color="burlywood", weight=3]; 8366[label="vuz407/Neg vuz4070",fontsize=10,color="white",style="solid",shape="box"];6450 -> 8366[label="",style="solid", color="burlywood", weight=9]; 8366 -> 6860[label="",style="solid", color="burlywood", weight=3]; 340[label="Integer (Pos (Succ vuz900)) `quot` gcd (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];340 -> 366[label="",style="solid", color="black", weight=3]; 341[label="Integer (Pos Zero) `quot` gcd3 (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];341 -> 367[label="",style="solid", color="black", weight=3]; 342[label="(`negate` Integer (Neg (Succ vuz900))) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (`negate` Integer (Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];342 -> 368[label="",style="solid", color="black", weight=3]; 343[label="Integer (Neg Zero) `quot` gcd3 (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];343 -> 369[label="",style="solid", color="black", weight=3]; 4832[label="`negate` Pos (Succ vuz287)",fontsize=16,color="black",shape="box"];4832 -> 5270[label="",style="solid", color="black", weight=3]; 3454[label="Neg Zero",fontsize=16,color="green",shape="box"];344[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];344 -> 370[label="",style="solid", color="black", weight=3]; 345 -> 5417[label="",style="dashed", color="red", weight=0]; 345[label="primQuotInt (Pos (primMulNat vuz80 Zero)) (reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];345 -> 5424[label="",style="dashed", color="magenta", weight=3]; 345 -> 5425[label="",style="dashed", color="magenta", weight=3]; 346[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];346 -> 372[label="",style="solid", color="black", weight=3]; 347 -> 5417[label="",style="dashed", color="red", weight=0]; 347[label="primQuotInt (Pos (primMulNat vuz80 Zero)) (reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos Zero)))",fontsize=16,color="magenta"];347 -> 5426[label="",style="dashed", color="magenta", weight=3]; 347 -> 5427[label="",style="dashed", color="magenta", weight=3]; 348[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];348 -> 374[label="",style="solid", color="black", weight=3]; 349[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];349 -> 375[label="",style="solid", color="black", weight=3]; 350 -> 5417[label="",style="dashed", color="red", weight=0]; 350[label="primQuotInt (Pos (primMulNat vuz80 Zero)) (reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Neg Zero)))",fontsize=16,color="magenta"];350 -> 5428[label="",style="dashed", color="magenta", weight=3]; 350 -> 5429[label="",style="dashed", color="magenta", weight=3]; 351[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];351 -> 377[label="",style="solid", color="black", weight=3]; 352 -> 6450[label="",style="dashed", color="red", weight=0]; 352[label="primQuotInt (Neg (primMulNat vuz80 Zero)) (reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];352 -> 6455[label="",style="dashed", color="magenta", weight=3]; 352 -> 6456[label="",style="dashed", color="magenta", weight=3]; 353[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];353 -> 379[label="",style="solid", color="black", weight=3]; 354 -> 6450[label="",style="dashed", color="red", weight=0]; 354[label="primQuotInt (Neg (primMulNat vuz80 Zero)) (reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos Zero)))",fontsize=16,color="magenta"];354 -> 6457[label="",style="dashed", color="magenta", weight=3]; 354 -> 6458[label="",style="dashed", color="magenta", weight=3]; 355[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];355 -> 381[label="",style="solid", color="black", weight=3]; 356[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];356 -> 382[label="",style="solid", color="black", weight=3]; 357 -> 6450[label="",style="dashed", color="red", weight=0]; 357[label="primQuotInt (Neg (primMulNat vuz80 Zero)) (reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Neg Zero)))",fontsize=16,color="magenta"];357 -> 6459[label="",style="dashed", color="magenta", weight=3]; 357 -> 6460[label="",style="dashed", color="magenta", weight=3]; 358[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];358 -> 384[label="",style="solid", color="black", weight=3]; 359[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];359 -> 385[label="",style="solid", color="black", weight=3]; 360[label="Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise `quot` reduce2D (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];360 -> 386[label="",style="solid", color="black", weight=3]; 361[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];361 -> 387[label="",style="solid", color="black", weight=3]; 5420[label="Succ vuz900",fontsize=16,color="green",shape="box"];5421 -> 5611[label="",style="dashed", color="red", weight=0]; 5421[label="reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5421 -> 5612[label="",style="dashed", color="magenta", weight=3]; 5608 -> 2609[label="",style="dashed", color="red", weight=0]; 5608[label="fromInt vuz8",fontsize=16,color="magenta"];5608 -> 5613[label="",style="dashed", color="magenta", weight=3]; 5607[label="reduce2D (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="triangle"];5607 -> 5614[label="",style="solid", color="black", weight=3]; 5609[label="primQuotInt (Pos vuz301) (Pos vuz3190)",fontsize=16,color="burlywood",shape="box"];8367[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];5609 -> 8367[label="",style="solid", color="burlywood", weight=9]; 8367 -> 5615[label="",style="solid", color="burlywood", weight=3]; 8368[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];5609 -> 8368[label="",style="solid", color="burlywood", weight=9]; 8368 -> 5616[label="",style="solid", color="burlywood", weight=3]; 5610[label="primQuotInt (Pos vuz301) (Neg vuz3190)",fontsize=16,color="burlywood",shape="box"];8369[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];5610 -> 8369[label="",style="solid", color="burlywood", weight=9]; 8369 -> 5617[label="",style="solid", color="burlywood", weight=3]; 8370[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];5610 -> 8370[label="",style="solid", color="burlywood", weight=9]; 8370 -> 5618[label="",style="solid", color="burlywood", weight=3]; 364[label="primQuotInt (`negate` Neg (Succ vuz900)) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (`negate` Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];364 -> 390[label="",style="solid", color="black", weight=3]; 6858 -> 2609[label="",style="dashed", color="red", weight=0]; 6858[label="fromInt vuz8",fontsize=16,color="magenta"];6858 -> 6861[label="",style="dashed", color="magenta", weight=3]; 6857[label="reduce2D (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="triangle"];6857 -> 6862[label="",style="solid", color="black", weight=3]; 6859[label="primQuotInt (Neg vuz381) (Pos vuz4070)",fontsize=16,color="burlywood",shape="box"];8371[label="vuz4070/Succ vuz40700",fontsize=10,color="white",style="solid",shape="box"];6859 -> 8371[label="",style="solid", color="burlywood", weight=9]; 8371 -> 6880[label="",style="solid", color="burlywood", weight=3]; 8372[label="vuz4070/Zero",fontsize=10,color="white",style="solid",shape="box"];6859 -> 8372[label="",style="solid", color="burlywood", weight=9]; 8372 -> 6881[label="",style="solid", color="burlywood", weight=3]; 6860[label="primQuotInt (Neg vuz381) (Neg vuz4070)",fontsize=16,color="burlywood",shape="box"];8373[label="vuz4070/Succ vuz40700",fontsize=10,color="white",style="solid",shape="box"];6860 -> 8373[label="",style="solid", color="burlywood", weight=9]; 8373 -> 6882[label="",style="solid", color="burlywood", weight=3]; 8374[label="vuz4070/Zero",fontsize=10,color="white",style="solid",shape="box"];6860 -> 8374[label="",style="solid", color="burlywood", weight=9]; 8374 -> 6883[label="",style="solid", color="burlywood", weight=3]; 366[label="Integer (Pos (Succ vuz900)) `quot` gcd3 (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];366 -> 392[label="",style="solid", color="black", weight=3]; 367[label="Integer (Pos Zero) `quot` gcd2 (fromInt vuz8 * signum (Integer (Pos Zero)) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];367 -> 393[label="",style="solid", color="black", weight=3]; 368[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];368 -> 394[label="",style="solid", color="black", weight=3]; 369[label="Integer (Neg Zero) `quot` gcd2 (fromInt vuz8 * signum (Integer (Neg Zero)) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];369 -> 395[label="",style="solid", color="black", weight=3]; 5270[label="primNegInt (Pos (Succ vuz287))",fontsize=16,color="black",shape="box"];5270 -> 5385[label="",style="solid", color="black", weight=3]; 370[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];370 -> 396[label="",style="solid", color="black", weight=3]; 5424 -> 4436[label="",style="dashed", color="red", weight=0]; 5424[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5424 -> 5619[label="",style="dashed", color="magenta", weight=3]; 5424 -> 5620[label="",style="dashed", color="magenta", weight=3]; 5425 -> 5621[label="",style="dashed", color="red", weight=0]; 5425[label="reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5425 -> 5622[label="",style="dashed", color="magenta", weight=3]; 5425 -> 5623[label="",style="dashed", color="magenta", weight=3]; 372[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];372 -> 398[label="",style="solid", color="black", weight=3]; 5426 -> 4436[label="",style="dashed", color="red", weight=0]; 5426[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5426 -> 5636[label="",style="dashed", color="magenta", weight=3]; 5426 -> 5637[label="",style="dashed", color="magenta", weight=3]; 5427 -> 5621[label="",style="dashed", color="red", weight=0]; 5427[label="reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos Zero))",fontsize=16,color="magenta"];5427 -> 5624[label="",style="dashed", color="magenta", weight=3]; 5427 -> 5625[label="",style="dashed", color="magenta", weight=3]; 374[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];374 -> 400[label="",style="solid", color="black", weight=3]; 375[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];375 -> 401[label="",style="solid", color="black", weight=3]; 5428 -> 4436[label="",style="dashed", color="red", weight=0]; 5428[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5428 -> 5638[label="",style="dashed", color="magenta", weight=3]; 5428 -> 5639[label="",style="dashed", color="magenta", weight=3]; 5429 -> 5621[label="",style="dashed", color="red", weight=0]; 5429[label="reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Neg Zero))",fontsize=16,color="magenta"];5429 -> 5626[label="",style="dashed", color="magenta", weight=3]; 5429 -> 5627[label="",style="dashed", color="magenta", weight=3]; 377[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];377 -> 403[label="",style="solid", color="black", weight=3]; 6455 -> 4436[label="",style="dashed", color="red", weight=0]; 6455[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6455 -> 6863[label="",style="dashed", color="magenta", weight=3]; 6455 -> 6864[label="",style="dashed", color="magenta", weight=3]; 6456 -> 6865[label="",style="dashed", color="red", weight=0]; 6456[label="reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];6456 -> 6866[label="",style="dashed", color="magenta", weight=3]; 6456 -> 6867[label="",style="dashed", color="magenta", weight=3]; 379[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];379 -> 405[label="",style="solid", color="black", weight=3]; 6457 -> 4436[label="",style="dashed", color="red", weight=0]; 6457[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6457 -> 6884[label="",style="dashed", color="magenta", weight=3]; 6457 -> 6885[label="",style="dashed", color="magenta", weight=3]; 6458 -> 6865[label="",style="dashed", color="red", weight=0]; 6458[label="reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos Zero))",fontsize=16,color="magenta"];6458 -> 6868[label="",style="dashed", color="magenta", weight=3]; 6458 -> 6869[label="",style="dashed", color="magenta", weight=3]; 381[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];381 -> 407[label="",style="solid", color="black", weight=3]; 382[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];382 -> 408[label="",style="solid", color="black", weight=3]; 6459 -> 4436[label="",style="dashed", color="red", weight=0]; 6459[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6459 -> 6886[label="",style="dashed", color="magenta", weight=3]; 6459 -> 6887[label="",style="dashed", color="magenta", weight=3]; 6460 -> 6865[label="",style="dashed", color="red", weight=0]; 6460[label="reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Neg Zero))",fontsize=16,color="magenta"];6460 -> 6870[label="",style="dashed", color="magenta", weight=3]; 6460 -> 6871[label="",style="dashed", color="magenta", weight=3]; 384[label="Integer vuz8 * fromInt (Pos (Succ Zero)) `quot` reduce2D (Integer vuz8 * fromInt (Pos (Succ Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];384 -> 410[label="",style="solid", color="black", weight=3]; 385[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];8375[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];385 -> 8375[label="",style="solid", color="burlywood", weight=9]; 8375 -> 411[label="",style="solid", color="burlywood", weight=3]; 8376[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];385 -> 8376[label="",style="solid", color="burlywood", weight=9]; 8376 -> 412[label="",style="solid", color="burlywood", weight=3]; 386[label="Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True `quot` reduce2D (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];386 -> 413[label="",style="solid", color="black", weight=3]; 387[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="box"];8377[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];387 -> 8377[label="",style="solid", color="burlywood", weight=9]; 8377 -> 414[label="",style="solid", color="burlywood", weight=3]; 8378[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];387 -> 8378[label="",style="solid", color="burlywood", weight=9]; 8378 -> 415[label="",style="solid", color="burlywood", weight=3]; 5612 -> 2609[label="",style="dashed", color="red", weight=0]; 5612[label="fromInt vuz8",fontsize=16,color="magenta"];5612 -> 5640[label="",style="dashed", color="magenta", weight=3]; 5611[label="reduce2D (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5611 -> 5641[label="",style="solid", color="black", weight=3]; 5613[label="vuz8",fontsize=16,color="green",shape="box"];5614[label="gcd (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5614 -> 5642[label="",style="solid", color="black", weight=3]; 5615[label="primQuotInt (Pos vuz301) (Pos (Succ vuz31900))",fontsize=16,color="black",shape="box"];5615 -> 5643[label="",style="solid", color="black", weight=3]; 5616[label="primQuotInt (Pos vuz301) (Pos Zero)",fontsize=16,color="black",shape="box"];5616 -> 5644[label="",style="solid", color="black", weight=3]; 5617[label="primQuotInt (Pos vuz301) (Neg (Succ vuz31900))",fontsize=16,color="black",shape="box"];5617 -> 5645[label="",style="solid", color="black", weight=3]; 5618[label="primQuotInt (Pos vuz301) (Neg Zero)",fontsize=16,color="black",shape="box"];5618 -> 5646[label="",style="solid", color="black", weight=3]; 390[label="primQuotInt (primNegInt (Neg (Succ vuz900))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];390 -> 418[label="",style="solid", color="black", weight=3]; 6861[label="vuz8",fontsize=16,color="green",shape="box"];6862[label="gcd (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6862 -> 6888[label="",style="solid", color="black", weight=3]; 6880[label="primQuotInt (Neg vuz381) (Pos (Succ vuz40700))",fontsize=16,color="black",shape="box"];6880 -> 6921[label="",style="solid", color="black", weight=3]; 6881[label="primQuotInt (Neg vuz381) (Pos Zero)",fontsize=16,color="black",shape="box"];6881 -> 6922[label="",style="solid", color="black", weight=3]; 6882[label="primQuotInt (Neg vuz381) (Neg (Succ vuz40700))",fontsize=16,color="black",shape="box"];6882 -> 6923[label="",style="solid", color="black", weight=3]; 6883[label="primQuotInt (Neg vuz381) (Neg Zero)",fontsize=16,color="black",shape="box"];6883 -> 6924[label="",style="solid", color="black", weight=3]; 392[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (fromInt vuz8 * signum (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];392 -> 420[label="",style="solid", color="black", weight=3]; 393[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signum (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];393 -> 421[label="",style="solid", color="black", weight=3]; 394[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];394 -> 422[label="",style="solid", color="black", weight=3]; 395[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signum (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];395 -> 423[label="",style="solid", color="black", weight=3]; 5385[label="Neg (Succ vuz287)",fontsize=16,color="green",shape="box"];396[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];396 -> 424[label="",style="solid", color="black", weight=3]; 5619[label="Zero",fontsize=16,color="green",shape="box"];5620[label="vuz80",fontsize=16,color="green",shape="box"];4436[label="primMulNat vuz2360 vuz2750",fontsize=16,color="burlywood",shape="triangle"];8379[label="vuz2360/Succ vuz23600",fontsize=10,color="white",style="solid",shape="box"];4436 -> 8379[label="",style="solid", color="burlywood", weight=9]; 8379 -> 4490[label="",style="solid", color="burlywood", weight=3]; 8380[label="vuz2360/Zero",fontsize=10,color="white",style="solid",shape="box"];4436 -> 8380[label="",style="solid", color="burlywood", weight=9]; 8380 -> 4491[label="",style="solid", color="burlywood", weight=3]; 5622 -> 4436[label="",style="dashed", color="red", weight=0]; 5622[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5622 -> 5647[label="",style="dashed", color="magenta", weight=3]; 5622 -> 5648[label="",style="dashed", color="magenta", weight=3]; 5623 -> 2348[label="",style="dashed", color="red", weight=0]; 5623[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];5623 -> 5649[label="",style="dashed", color="magenta", weight=3]; 5621[label="reduce2D (Pos vuz325) vuz324",fontsize=16,color="black",shape="triangle"];5621 -> 5650[label="",style="solid", color="black", weight=3]; 398[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];398 -> 426[label="",style="solid", color="black", weight=3]; 5636[label="Zero",fontsize=16,color="green",shape="box"];5637[label="vuz80",fontsize=16,color="green",shape="box"];5624 -> 4436[label="",style="dashed", color="red", weight=0]; 5624[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5624 -> 5651[label="",style="dashed", color="magenta", weight=3]; 5624 -> 5652[label="",style="dashed", color="magenta", weight=3]; 5625 -> 2348[label="",style="dashed", color="red", weight=0]; 5625[label="abs (Pos Zero)",fontsize=16,color="magenta"];5625 -> 5653[label="",style="dashed", color="magenta", weight=3]; 400[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];400 -> 428[label="",style="solid", color="black", weight=3]; 401[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];401 -> 429[label="",style="solid", color="black", weight=3]; 5638[label="Zero",fontsize=16,color="green",shape="box"];5639[label="vuz80",fontsize=16,color="green",shape="box"];5626 -> 4436[label="",style="dashed", color="red", weight=0]; 5626[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5626 -> 5654[label="",style="dashed", color="magenta", weight=3]; 5626 -> 5655[label="",style="dashed", color="magenta", weight=3]; 5627 -> 2348[label="",style="dashed", color="red", weight=0]; 5627[label="abs (Neg Zero)",fontsize=16,color="magenta"];5627 -> 5656[label="",style="dashed", color="magenta", weight=3]; 403[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];403 -> 431[label="",style="solid", color="black", weight=3]; 6863[label="Zero",fontsize=16,color="green",shape="box"];6864[label="vuz80",fontsize=16,color="green",shape="box"];6866 -> 4436[label="",style="dashed", color="red", weight=0]; 6866[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6866 -> 6889[label="",style="dashed", color="magenta", weight=3]; 6866 -> 6890[label="",style="dashed", color="magenta", weight=3]; 6867 -> 2348[label="",style="dashed", color="red", weight=0]; 6867[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];6867 -> 6891[label="",style="dashed", color="magenta", weight=3]; 6865[label="reduce2D (Neg vuz412) vuz411",fontsize=16,color="black",shape="triangle"];6865 -> 6892[label="",style="solid", color="black", weight=3]; 405[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];405 -> 433[label="",style="solid", color="black", weight=3]; 6884[label="Zero",fontsize=16,color="green",shape="box"];6885[label="vuz80",fontsize=16,color="green",shape="box"];6868 -> 4436[label="",style="dashed", color="red", weight=0]; 6868[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6868 -> 6893[label="",style="dashed", color="magenta", weight=3]; 6868 -> 6894[label="",style="dashed", color="magenta", weight=3]; 6869 -> 2348[label="",style="dashed", color="red", weight=0]; 6869[label="abs (Pos Zero)",fontsize=16,color="magenta"];6869 -> 6895[label="",style="dashed", color="magenta", weight=3]; 407[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];407 -> 435[label="",style="solid", color="black", weight=3]; 408[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];408 -> 436[label="",style="solid", color="black", weight=3]; 6886[label="Zero",fontsize=16,color="green",shape="box"];6887[label="vuz80",fontsize=16,color="green",shape="box"];6870 -> 4436[label="",style="dashed", color="red", weight=0]; 6870[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6870 -> 6896[label="",style="dashed", color="magenta", weight=3]; 6870 -> 6897[label="",style="dashed", color="magenta", weight=3]; 6871 -> 2348[label="",style="dashed", color="red", weight=0]; 6871[label="abs (Neg Zero)",fontsize=16,color="magenta"];6871 -> 6898[label="",style="dashed", color="magenta", weight=3]; 410[label="Integer vuz8 * Integer (Pos (Succ Zero)) `quot` reduce2D (Integer vuz8 * Integer (Pos (Succ Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];410 -> 438[label="",style="solid", color="black", weight=3]; 411[label="Integer (primMulInt (Pos vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];411 -> 439[label="",style="solid", color="black", weight=3]; 412[label="Integer (primMulInt (Neg vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];412 -> 440[label="",style="solid", color="black", weight=3]; 413[label="Integer vuz8 * fromInt (Neg (Succ Zero)) `quot` reduce2D (Integer vuz8 * fromInt (Neg (Succ Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];413 -> 441[label="",style="solid", color="black", weight=3]; 414[label="Integer (primMulInt (Pos vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];414 -> 442[label="",style="solid", color="black", weight=3]; 415[label="Integer (primMulInt (Neg vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];415 -> 443[label="",style="solid", color="black", weight=3]; 5640[label="vuz8",fontsize=16,color="green",shape="box"];5641[label="gcd (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5641 -> 5659[label="",style="solid", color="black", weight=3]; 5642[label="gcd3 (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5642 -> 5660[label="",style="solid", color="black", weight=3]; 5643[label="Pos (primDivNatS vuz301 (Succ vuz31900))",fontsize=16,color="green",shape="box"];5643 -> 5661[label="",style="dashed", color="green", weight=3]; 5644 -> 3082[label="",style="dashed", color="red", weight=0]; 5644[label="error []",fontsize=16,color="magenta"];5645[label="Neg (primDivNatS vuz301 (Succ vuz31900))",fontsize=16,color="green",shape="box"];5645 -> 5662[label="",style="dashed", color="green", weight=3]; 5646 -> 3082[label="",style="dashed", color="red", weight=0]; 5646[label="error []",fontsize=16,color="magenta"];418 -> 5417[label="",style="dashed", color="red", weight=0]; 418[label="primQuotInt (Pos (Succ vuz900)) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900)))",fontsize=16,color="magenta"];418 -> 5450[label="",style="dashed", color="magenta", weight=3]; 418 -> 5451[label="",style="dashed", color="magenta", weight=3]; 6888[label="gcd3 (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6888 -> 6925[label="",style="solid", color="black", weight=3]; 6921[label="Neg (primDivNatS vuz381 (Succ vuz40700))",fontsize=16,color="green",shape="box"];6921 -> 6930[label="",style="dashed", color="green", weight=3]; 6922 -> 3082[label="",style="dashed", color="red", weight=0]; 6922[label="error []",fontsize=16,color="magenta"];6923[label="Pos (primDivNatS vuz381 (Succ vuz40700))",fontsize=16,color="green",shape="box"];6923 -> 6931[label="",style="dashed", color="green", weight=3]; 6924 -> 3082[label="",style="dashed", color="red", weight=0]; 6924[label="error []",fontsize=16,color="magenta"];420[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signum (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];420 -> 448[label="",style="solid", color="black", weight=3]; 421[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];421 -> 449[label="",style="solid", color="black", weight=3]; 422[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd3 (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];422 -> 450[label="",style="solid", color="black", weight=3]; 423[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];423 -> 451[label="",style="solid", color="black", weight=3]; 424[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];424 -> 452[label="",style="solid", color="black", weight=3]; 4490[label="primMulNat (Succ vuz23600) vuz2750",fontsize=16,color="burlywood",shape="box"];8381[label="vuz2750/Succ vuz27500",fontsize=10,color="white",style="solid",shape="box"];4490 -> 8381[label="",style="solid", color="burlywood", weight=9]; 8381 -> 4511[label="",style="solid", color="burlywood", weight=3]; 8382[label="vuz2750/Zero",fontsize=10,color="white",style="solid",shape="box"];4490 -> 8382[label="",style="solid", color="burlywood", weight=9]; 8382 -> 4512[label="",style="solid", color="burlywood", weight=3]; 4491[label="primMulNat Zero vuz2750",fontsize=16,color="burlywood",shape="box"];8383[label="vuz2750/Succ vuz27500",fontsize=10,color="white",style="solid",shape="box"];4491 -> 8383[label="",style="solid", color="burlywood", weight=9]; 8383 -> 4513[label="",style="solid", color="burlywood", weight=3]; 8384[label="vuz2750/Zero",fontsize=10,color="white",style="solid",shape="box"];4491 -> 8384[label="",style="solid", color="burlywood", weight=9]; 8384 -> 4514[label="",style="solid", color="burlywood", weight=3]; 5647[label="Zero",fontsize=16,color="green",shape="box"];5648[label="vuz80",fontsize=16,color="green",shape="box"];5649[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];5650[label="gcd (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5650 -> 5663[label="",style="solid", color="black", weight=3]; 426[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) False)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];426 -> 454[label="",style="solid", color="black", weight=3]; 5651[label="Zero",fontsize=16,color="green",shape="box"];5652[label="vuz80",fontsize=16,color="green",shape="box"];5653[label="Pos Zero",fontsize=16,color="green",shape="box"];428[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];428 -> 456[label="",style="solid", color="black", weight=3]; 429[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) False)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];429 -> 457[label="",style="solid", color="black", weight=3]; 5654[label="Zero",fontsize=16,color="green",shape="box"];5655[label="vuz80",fontsize=16,color="green",shape="box"];5656[label="Neg Zero",fontsize=16,color="green",shape="box"];431[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];431 -> 459[label="",style="solid", color="black", weight=3]; 6889[label="Zero",fontsize=16,color="green",shape="box"];6890[label="vuz80",fontsize=16,color="green",shape="box"];6891[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6892[label="gcd (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6892 -> 6926[label="",style="solid", color="black", weight=3]; 433[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) False)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];433 -> 461[label="",style="solid", color="black", weight=3]; 6893[label="Zero",fontsize=16,color="green",shape="box"];6894[label="vuz80",fontsize=16,color="green",shape="box"];6895[label="Pos Zero",fontsize=16,color="green",shape="box"];435[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];435 -> 463[label="",style="solid", color="black", weight=3]; 436[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) False)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];436 -> 464[label="",style="solid", color="black", weight=3]; 6896[label="Zero",fontsize=16,color="green",shape="box"];6897[label="vuz80",fontsize=16,color="green",shape="box"];6898[label="Neg Zero",fontsize=16,color="green",shape="box"];438[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` reduce2D (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];438 -> 466[label="",style="solid", color="black", weight=3]; 439[label="Integer (Pos (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];8385[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];439 -> 8385[label="",style="solid", color="burlywood", weight=9]; 8385 -> 467[label="",style="solid", color="burlywood", weight=3]; 8386[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];439 -> 8386[label="",style="solid", color="burlywood", weight=9]; 8386 -> 468[label="",style="solid", color="burlywood", weight=3]; 440[label="Integer (Neg (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];8387[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];440 -> 8387[label="",style="solid", color="burlywood", weight=9]; 8387 -> 469[label="",style="solid", color="burlywood", weight=3]; 8388[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];440 -> 8388[label="",style="solid", color="burlywood", weight=9]; 8388 -> 470[label="",style="solid", color="burlywood", weight=3]; 441[label="Integer vuz8 * Integer (Neg (Succ Zero)) `quot` reduce2D (Integer vuz8 * Integer (Neg (Succ Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];441 -> 471[label="",style="solid", color="black", weight=3]; 442[label="Integer (Pos (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="box"];8389[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];442 -> 8389[label="",style="solid", color="burlywood", weight=9]; 8389 -> 472[label="",style="solid", color="burlywood", weight=3]; 8390[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];442 -> 8390[label="",style="solid", color="burlywood", weight=9]; 8390 -> 473[label="",style="solid", color="burlywood", weight=3]; 443[label="Integer (Neg (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="box"];8391[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];443 -> 8391[label="",style="solid", color="burlywood", weight=9]; 8391 -> 474[label="",style="solid", color="burlywood", weight=3]; 8392[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];443 -> 8392[label="",style="solid", color="burlywood", weight=9]; 8392 -> 475[label="",style="solid", color="burlywood", weight=3]; 5659[label="gcd3 (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5659 -> 5705[label="",style="solid", color="black", weight=3]; 5660 -> 5706[label="",style="dashed", color="red", weight=0]; 5660[label="gcd2 (vuz322 * signum (Pos Zero) == fromInt (Pos Zero)) (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5660 -> 5707[label="",style="dashed", color="magenta", weight=3]; 5661[label="primDivNatS vuz301 (Succ vuz31900)",fontsize=16,color="burlywood",shape="triangle"];8393[label="vuz301/Succ vuz3010",fontsize=10,color="white",style="solid",shape="box"];5661 -> 8393[label="",style="solid", color="burlywood", weight=9]; 8393 -> 5708[label="",style="solid", color="burlywood", weight=3]; 8394[label="vuz301/Zero",fontsize=10,color="white",style="solid",shape="box"];5661 -> 8394[label="",style="solid", color="burlywood", weight=9]; 8394 -> 5709[label="",style="solid", color="burlywood", weight=3]; 3082[label="error []",fontsize=16,color="black",shape="triangle"];3082 -> 3126[label="",style="solid", color="black", weight=3]; 5662 -> 5661[label="",style="dashed", color="red", weight=0]; 5662[label="primDivNatS vuz301 (Succ vuz31900)",fontsize=16,color="magenta"];5662 -> 5710[label="",style="dashed", color="magenta", weight=3]; 5450[label="Succ vuz900",fontsize=16,color="green",shape="box"];5451 -> 5657[label="",style="dashed", color="red", weight=0]; 5451[label="reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5451 -> 5658[label="",style="dashed", color="magenta", weight=3]; 6925 -> 6932[label="",style="dashed", color="red", weight=0]; 6925[label="gcd2 (vuz410 * signum (Neg Zero) == fromInt (Pos Zero)) (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6925 -> 6933[label="",style="dashed", color="magenta", weight=3]; 6930 -> 5661[label="",style="dashed", color="red", weight=0]; 6930[label="primDivNatS vuz381 (Succ vuz40700)",fontsize=16,color="magenta"];6930 -> 6934[label="",style="dashed", color="magenta", weight=3]; 6930 -> 6935[label="",style="dashed", color="magenta", weight=3]; 6931 -> 5661[label="",style="dashed", color="red", weight=0]; 6931[label="primDivNatS vuz381 (Succ vuz40700)",fontsize=16,color="magenta"];6931 -> 6936[label="",style="dashed", color="magenta", weight=3]; 6931 -> 6937[label="",style="dashed", color="magenta", weight=3]; 448[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];448 -> 480[label="",style="solid", color="black", weight=3]; 449[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];449 -> 481[label="",style="solid", color="black", weight=3]; 450[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (fromInt vuz8 * signum (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];450 -> 482[label="",style="solid", color="black", weight=3]; 451[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];451 -> 483[label="",style="solid", color="black", weight=3]; 452[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];452 -> 484[label="",style="solid", color="black", weight=3]; 4511[label="primMulNat (Succ vuz23600) (Succ vuz27500)",fontsize=16,color="black",shape="box"];4511 -> 4518[label="",style="solid", color="black", weight=3]; 4512[label="primMulNat (Succ vuz23600) Zero",fontsize=16,color="black",shape="box"];4512 -> 4519[label="",style="solid", color="black", weight=3]; 4513[label="primMulNat Zero (Succ vuz27500)",fontsize=16,color="black",shape="box"];4513 -> 4520[label="",style="solid", color="black", weight=3]; 4514[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];4514 -> 4521[label="",style="solid", color="black", weight=3]; 5663[label="gcd3 (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5663 -> 5711[label="",style="solid", color="black", weight=3]; 454[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) otherwise)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) otherwise)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];454 -> 487[label="",style="solid", color="black", weight=3]; 456[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];456 -> 490[label="",style="solid", color="black", weight=3]; 457[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) otherwise)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) otherwise)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];457 -> 491[label="",style="solid", color="black", weight=3]; 459[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];459 -> 494[label="",style="solid", color="black", weight=3]; 6926[label="gcd3 (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6926 -> 6938[label="",style="solid", color="black", weight=3]; 461[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) otherwise)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) otherwise)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];461 -> 497[label="",style="solid", color="black", weight=3]; 463[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];463 -> 500[label="",style="solid", color="black", weight=3]; 464[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) otherwise)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) otherwise)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];464 -> 501[label="",style="solid", color="black", weight=3]; 466[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];466 -> 504[label="",style="solid", color="black", weight=3]; 467[label="Integer (Pos (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];467 -> 505[label="",style="solid", color="black", weight=3]; 468[label="Integer (Pos (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];468 -> 506[label="",style="solid", color="black", weight=3]; 469[label="Integer (Neg (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];469 -> 507[label="",style="solid", color="black", weight=3]; 470[label="Integer (Neg (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];470 -> 508[label="",style="solid", color="black", weight=3]; 471[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` reduce2D (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];471 -> 509[label="",style="solid", color="black", weight=3]; 472[label="Integer (Pos (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];472 -> 510[label="",style="solid", color="black", weight=3]; 473[label="Integer (Pos (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];473 -> 511[label="",style="solid", color="black", weight=3]; 474[label="Integer (Neg (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];474 -> 512[label="",style="solid", color="black", weight=3]; 475[label="Integer (Neg (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];475 -> 513[label="",style="solid", color="black", weight=3]; 5705 -> 5712[label="",style="dashed", color="red", weight=0]; 5705[label="gcd2 (vuz323 * signum (Pos (Succ vuz900)) == fromInt (Pos Zero)) (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5705 -> 5713[label="",style="dashed", color="magenta", weight=3]; 5707 -> 2582[label="",style="dashed", color="red", weight=0]; 5707[label="vuz322 * signum (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5707 -> 5714[label="",style="dashed", color="magenta", weight=3]; 5706[label="gcd2 vuz333 (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];8395[label="vuz333/False",fontsize=10,color="white",style="solid",shape="box"];5706 -> 8395[label="",style="solid", color="burlywood", weight=9]; 8395 -> 5715[label="",style="solid", color="burlywood", weight=3]; 8396[label="vuz333/True",fontsize=10,color="white",style="solid",shape="box"];5706 -> 8396[label="",style="solid", color="burlywood", weight=9]; 8396 -> 5716[label="",style="solid", color="burlywood", weight=3]; 5708[label="primDivNatS (Succ vuz3010) (Succ vuz31900)",fontsize=16,color="black",shape="box"];5708 -> 5717[label="",style="solid", color="black", weight=3]; 5709[label="primDivNatS Zero (Succ vuz31900)",fontsize=16,color="black",shape="box"];5709 -> 5718[label="",style="solid", color="black", weight=3]; 3126[label="error []",fontsize=16,color="red",shape="box"];5710[label="vuz31900",fontsize=16,color="green",shape="box"];5658 -> 2609[label="",style="dashed", color="red", weight=0]; 5658[label="fromInt vuz8",fontsize=16,color="magenta"];5658 -> 5664[label="",style="dashed", color="magenta", weight=3]; 5657[label="reduce2D (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5657 -> 5665[label="",style="solid", color="black", weight=3]; 6933 -> 2582[label="",style="dashed", color="red", weight=0]; 6933[label="vuz410 * signum (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6933 -> 6939[label="",style="dashed", color="magenta", weight=3]; 6932[label="gcd2 vuz415 (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="burlywood",shape="triangle"];8397[label="vuz415/False",fontsize=10,color="white",style="solid",shape="box"];6932 -> 8397[label="",style="solid", color="burlywood", weight=9]; 8397 -> 6940[label="",style="solid", color="burlywood", weight=3]; 8398[label="vuz415/True",fontsize=10,color="white",style="solid",shape="box"];6932 -> 8398[label="",style="solid", color="burlywood", weight=9]; 8398 -> 6941[label="",style="solid", color="burlywood", weight=3]; 6934[label="vuz40700",fontsize=16,color="green",shape="box"];6935[label="vuz381",fontsize=16,color="green",shape="box"];6936[label="vuz40700",fontsize=16,color="green",shape="box"];6937[label="vuz381",fontsize=16,color="green",shape="box"];480[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];480 -> 520[label="",style="solid", color="black", weight=3]; 481 -> 521[label="",style="dashed", color="red", weight=0]; 481[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) (Integer (Pos Zero) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) (Integer (Pos Zero) == fromInt (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="magenta"];481 -> 522[label="",style="dashed", color="magenta", weight=3]; 481 -> 523[label="",style="dashed", color="magenta", weight=3]; 482[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signum (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];482 -> 524[label="",style="solid", color="black", weight=3]; 483 -> 525[label="",style="dashed", color="red", weight=0]; 483[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) (Integer (Neg Zero) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) (Integer (Neg Zero) == fromInt (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="magenta"];483 -> 526[label="",style="dashed", color="magenta", weight=3]; 483 -> 527[label="",style="dashed", color="magenta", weight=3]; 484[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos (Succ Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];484 -> 528[label="",style="solid", color="black", weight=3]; 4518 -> 4551[label="",style="dashed", color="red", weight=0]; 4518[label="primPlusNat (primMulNat vuz23600 (Succ vuz27500)) (Succ vuz27500)",fontsize=16,color="magenta"];4518 -> 4576[label="",style="dashed", color="magenta", weight=3]; 4519[label="Zero",fontsize=16,color="green",shape="box"];4520[label="Zero",fontsize=16,color="green",shape="box"];4521[label="Zero",fontsize=16,color="green",shape="box"];5711 -> 5719[label="",style="dashed", color="red", weight=0]; 5711[label="gcd2 (Pos vuz325 == fromInt (Pos Zero)) (Pos vuz325) vuz324",fontsize=16,color="magenta"];5711 -> 5720[label="",style="dashed", color="magenta", weight=3]; 487[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) True)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];487 -> 531[label="",style="solid", color="black", weight=3]; 490[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];490 -> 534[label="",style="solid", color="black", weight=3]; 491[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) True)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];491 -> 535[label="",style="solid", color="black", weight=3]; 494[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos (Succ Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];494 -> 538[label="",style="solid", color="black", weight=3]; 6938 -> 6954[label="",style="dashed", color="red", weight=0]; 6938[label="gcd2 (Neg vuz412 == fromInt (Pos Zero)) (Neg vuz412) vuz411",fontsize=16,color="magenta"];6938 -> 6955[label="",style="dashed", color="magenta", weight=3]; 497[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) True)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];497 -> 541[label="",style="solid", color="black", weight=3]; 500[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];500 -> 544[label="",style="solid", color="black", weight=3]; 501[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) True)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];501 -> 545[label="",style="solid", color="black", weight=3]; 504[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd3 (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];504 -> 548[label="",style="solid", color="black", weight=3]; 505 -> 549[label="",style="dashed", color="red", weight=0]; 505[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];505 -> 550[label="",style="dashed", color="magenta", weight=3]; 506 -> 549[label="",style="dashed", color="red", weight=0]; 506[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];506 -> 551[label="",style="dashed", color="magenta", weight=3]; 507 -> 552[label="",style="dashed", color="red", weight=0]; 507[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];507 -> 553[label="",style="dashed", color="magenta", weight=3]; 508 -> 552[label="",style="dashed", color="red", weight=0]; 508[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];508 -> 554[label="",style="dashed", color="magenta", weight=3]; 509[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];509 -> 555[label="",style="solid", color="black", weight=3]; 510 -> 556[label="",style="dashed", color="red", weight=0]; 510[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];510 -> 557[label="",style="dashed", color="magenta", weight=3]; 511 -> 556[label="",style="dashed", color="red", weight=0]; 511[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];511 -> 558[label="",style="dashed", color="magenta", weight=3]; 512 -> 559[label="",style="dashed", color="red", weight=0]; 512[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];512 -> 560[label="",style="dashed", color="magenta", weight=3]; 513 -> 559[label="",style="dashed", color="red", weight=0]; 513[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];513 -> 561[label="",style="dashed", color="magenta", weight=3]; 5713 -> 2582[label="",style="dashed", color="red", weight=0]; 5713[label="vuz323 * signum (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5713 -> 5721[label="",style="dashed", color="magenta", weight=3]; 5712[label="gcd2 vuz335 (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="burlywood",shape="triangle"];8399[label="vuz335/False",fontsize=10,color="white",style="solid",shape="box"];5712 -> 8399[label="",style="solid", color="burlywood", weight=9]; 8399 -> 5722[label="",style="solid", color="burlywood", weight=3]; 8400[label="vuz335/True",fontsize=10,color="white",style="solid",shape="box"];5712 -> 8400[label="",style="solid", color="burlywood", weight=9]; 8400 -> 5723[label="",style="solid", color="burlywood", weight=3]; 5714[label="vuz322 * signum (Pos Zero)",fontsize=16,color="black",shape="triangle"];5714 -> 5724[label="",style="solid", color="black", weight=3]; 5715[label="gcd2 False (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5715 -> 5725[label="",style="solid", color="black", weight=3]; 5716[label="gcd2 True (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5716 -> 5726[label="",style="solid", color="black", weight=3]; 5717[label="primDivNatS0 vuz3010 vuz31900 (primGEqNatS vuz3010 vuz31900)",fontsize=16,color="burlywood",shape="box"];8401[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];5717 -> 8401[label="",style="solid", color="burlywood", weight=9]; 8401 -> 5727[label="",style="solid", color="burlywood", weight=3]; 8402[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];5717 -> 8402[label="",style="solid", color="burlywood", weight=9]; 8402 -> 5728[label="",style="solid", color="burlywood", weight=3]; 5718[label="Zero",fontsize=16,color="green",shape="box"];5664[label="vuz8",fontsize=16,color="green",shape="box"];5665[label="gcd (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5665 -> 5729[label="",style="solid", color="black", weight=3]; 6939[label="vuz410 * signum (Neg Zero)",fontsize=16,color="black",shape="triangle"];6939 -> 6956[label="",style="solid", color="black", weight=3]; 6940[label="gcd2 False (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6940 -> 6957[label="",style="solid", color="black", weight=3]; 6941[label="gcd2 True (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6941 -> 6958[label="",style="solid", color="black", weight=3]; 520 -> 569[label="",style="dashed", color="red", weight=0]; 520[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];520 -> 570[label="",style="dashed", color="magenta", weight=3]; 520 -> 571[label="",style="dashed", color="magenta", weight=3]; 522 -> 131[label="",style="dashed", color="red", weight=0]; 522[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];523 -> 131[label="",style="dashed", color="red", weight=0]; 523[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];521[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz24 == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz23) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];8403[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];521 -> 8403[label="",style="solid", color="burlywood", weight=9]; 8403 -> 572[label="",style="solid", color="burlywood", weight=3]; 8404[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];521 -> 8404[label="",style="solid", color="burlywood", weight=9]; 8404 -> 573[label="",style="solid", color="burlywood", weight=3]; 524[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];524 -> 574[label="",style="solid", color="black", weight=3]; 526 -> 133[label="",style="dashed", color="red", weight=0]; 526[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];527 -> 133[label="",style="dashed", color="red", weight=0]; 527[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];525[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz26 == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz25) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];8405[label="vuz26/False",fontsize=10,color="white",style="solid",shape="box"];525 -> 8405[label="",style="solid", color="burlywood", weight=9]; 8405 -> 575[label="",style="solid", color="burlywood", weight=3]; 8406[label="vuz26/True",fontsize=10,color="white",style="solid",shape="box"];525 -> 8406[label="",style="solid", color="burlywood", weight=9]; 8406 -> 576[label="",style="solid", color="burlywood", weight=3]; 528[label="primQuotInt (primMulInt (Pos vuz80) (Pos (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Pos (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];528 -> 577[label="",style="solid", color="black", weight=3]; 4576 -> 4436[label="",style="dashed", color="red", weight=0]; 4576[label="primMulNat vuz23600 (Succ vuz27500)",fontsize=16,color="magenta"];4576 -> 4658[label="",style="dashed", color="magenta", weight=3]; 4576 -> 4659[label="",style="dashed", color="magenta", weight=3]; 4551[label="primPlusNat vuz285 (Succ vuz27500)",fontsize=16,color="burlywood",shape="triangle"];8407[label="vuz285/Succ vuz2850",fontsize=10,color="white",style="solid",shape="box"];4551 -> 8407[label="",style="solid", color="burlywood", weight=9]; 8407 -> 4579[label="",style="solid", color="burlywood", weight=3]; 8408[label="vuz285/Zero",fontsize=10,color="white",style="solid",shape="box"];4551 -> 8408[label="",style="solid", color="burlywood", weight=9]; 8408 -> 4580[label="",style="solid", color="burlywood", weight=3]; 5720 -> 2582[label="",style="dashed", color="red", weight=0]; 5720[label="Pos vuz325 == fromInt (Pos Zero)",fontsize=16,color="magenta"];5720 -> 5730[label="",style="dashed", color="magenta", weight=3]; 5719[label="gcd2 vuz337 (Pos vuz325) vuz324",fontsize=16,color="burlywood",shape="triangle"];8409[label="vuz337/False",fontsize=10,color="white",style="solid",shape="box"];5719 -> 8409[label="",style="solid", color="burlywood", weight=9]; 8409 -> 5731[label="",style="solid", color="burlywood", weight=3]; 8410[label="vuz337/True",fontsize=10,color="white",style="solid",shape="box"];5719 -> 8410[label="",style="solid", color="burlywood", weight=9]; 8410 -> 5732[label="",style="solid", color="burlywood", weight=3]; 531[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];531 -> 581[label="",style="solid", color="black", weight=3]; 534[label="primQuotInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Neg (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];534 -> 585[label="",style="solid", color="black", weight=3]; 535[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];535 -> 586[label="",style="solid", color="black", weight=3]; 538[label="primQuotInt (primMulInt (Neg vuz80) (Pos (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Pos (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];538 -> 590[label="",style="solid", color="black", weight=3]; 6955 -> 2582[label="",style="dashed", color="red", weight=0]; 6955[label="Neg vuz412 == fromInt (Pos Zero)",fontsize=16,color="magenta"];6955 -> 6959[label="",style="dashed", color="magenta", weight=3]; 6954[label="gcd2 vuz419 (Neg vuz412) vuz411",fontsize=16,color="burlywood",shape="triangle"];8411[label="vuz419/False",fontsize=10,color="white",style="solid",shape="box"];6954 -> 8411[label="",style="solid", color="burlywood", weight=9]; 8411 -> 6960[label="",style="solid", color="burlywood", weight=3]; 8412[label="vuz419/True",fontsize=10,color="white",style="solid",shape="box"];6954 -> 8412[label="",style="solid", color="burlywood", weight=9]; 8412 -> 6961[label="",style="solid", color="burlywood", weight=3]; 541[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];541 -> 594[label="",style="solid", color="black", weight=3]; 544[label="primQuotInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Neg (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];544 -> 598[label="",style="solid", color="black", weight=3]; 545[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];545 -> 599[label="",style="solid", color="black", weight=3]; 548[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];548 -> 603[label="",style="solid", color="black", weight=3]; 550 -> 2647[label="",style="dashed", color="red", weight=0]; 550[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];550 -> 2689[label="",style="dashed", color="magenta", weight=3]; 550 -> 2690[label="",style="dashed", color="magenta", weight=3]; 549[label="Integer (Pos Zero) `quot` gcd2 vuz27 (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8413[label="vuz27/False",fontsize=10,color="white",style="solid",shape="box"];549 -> 8413[label="",style="solid", color="burlywood", weight=9]; 8413 -> 604[label="",style="solid", color="burlywood", weight=3]; 8414[label="vuz27/True",fontsize=10,color="white",style="solid",shape="box"];549 -> 8414[label="",style="solid", color="burlywood", weight=9]; 8414 -> 605[label="",style="solid", color="burlywood", weight=3]; 551 -> 2647[label="",style="dashed", color="red", weight=0]; 551[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];551 -> 2691[label="",style="dashed", color="magenta", weight=3]; 551 -> 2692[label="",style="dashed", color="magenta", weight=3]; 553 -> 2647[label="",style="dashed", color="red", weight=0]; 553[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];553 -> 2693[label="",style="dashed", color="magenta", weight=3]; 553 -> 2694[label="",style="dashed", color="magenta", weight=3]; 552[label="Integer (Neg Zero) `quot` gcd2 vuz28 (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8415[label="vuz28/False",fontsize=10,color="white",style="solid",shape="box"];552 -> 8415[label="",style="solid", color="burlywood", weight=9]; 8415 -> 606[label="",style="solid", color="burlywood", weight=3]; 8416[label="vuz28/True",fontsize=10,color="white",style="solid",shape="box"];552 -> 8416[label="",style="solid", color="burlywood", weight=9]; 8416 -> 607[label="",style="solid", color="burlywood", weight=3]; 554 -> 2647[label="",style="dashed", color="red", weight=0]; 554[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];554 -> 2695[label="",style="dashed", color="magenta", weight=3]; 554 -> 2696[label="",style="dashed", color="magenta", weight=3]; 555[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd3 (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];555 -> 608[label="",style="solid", color="black", weight=3]; 557 -> 2647[label="",style="dashed", color="red", weight=0]; 557[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];557 -> 2697[label="",style="dashed", color="magenta", weight=3]; 557 -> 2698[label="",style="dashed", color="magenta", weight=3]; 556[label="Integer (Pos Zero) `quot` gcd2 vuz29 (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8417[label="vuz29/False",fontsize=10,color="white",style="solid",shape="box"];556 -> 8417[label="",style="solid", color="burlywood", weight=9]; 8417 -> 609[label="",style="solid", color="burlywood", weight=3]; 8418[label="vuz29/True",fontsize=10,color="white",style="solid",shape="box"];556 -> 8418[label="",style="solid", color="burlywood", weight=9]; 8418 -> 610[label="",style="solid", color="burlywood", weight=3]; 558 -> 2647[label="",style="dashed", color="red", weight=0]; 558[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];558 -> 2699[label="",style="dashed", color="magenta", weight=3]; 558 -> 2700[label="",style="dashed", color="magenta", weight=3]; 560 -> 2647[label="",style="dashed", color="red", weight=0]; 560[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];560 -> 2701[label="",style="dashed", color="magenta", weight=3]; 560 -> 2702[label="",style="dashed", color="magenta", weight=3]; 559[label="Integer (Neg Zero) `quot` gcd2 vuz30 (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8419[label="vuz30/False",fontsize=10,color="white",style="solid",shape="box"];559 -> 8419[label="",style="solid", color="burlywood", weight=9]; 8419 -> 611[label="",style="solid", color="burlywood", weight=3]; 8420[label="vuz30/True",fontsize=10,color="white",style="solid",shape="box"];559 -> 8420[label="",style="solid", color="burlywood", weight=9]; 8420 -> 612[label="",style="solid", color="burlywood", weight=3]; 561 -> 2647[label="",style="dashed", color="red", weight=0]; 561[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];561 -> 2703[label="",style="dashed", color="magenta", weight=3]; 561 -> 2704[label="",style="dashed", color="magenta", weight=3]; 5721[label="vuz323 * signum (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5721 -> 5812[label="",style="solid", color="black", weight=3]; 5722[label="gcd2 False (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5722 -> 5813[label="",style="solid", color="black", weight=3]; 5723[label="gcd2 True (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5723 -> 5814[label="",style="solid", color="black", weight=3]; 5724[label="primMulInt vuz322 (signum (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8421[label="vuz322/Pos vuz3220",fontsize=10,color="white",style="solid",shape="box"];5724 -> 8421[label="",style="solid", color="burlywood", weight=9]; 8421 -> 5815[label="",style="solid", color="burlywood", weight=3]; 8422[label="vuz322/Neg vuz3220",fontsize=10,color="white",style="solid",shape="box"];5724 -> 8422[label="",style="solid", color="burlywood", weight=9]; 8422 -> 5816[label="",style="solid", color="burlywood", weight=3]; 5725 -> 5817[label="",style="dashed", color="red", weight=0]; 5725[label="gcd0 (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5725 -> 5818[label="",style="dashed", color="magenta", weight=3]; 5726 -> 5819[label="",style="dashed", color="red", weight=0]; 5726[label="gcd1 (Pos Zero == fromInt (Pos Zero)) (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5726 -> 5820[label="",style="dashed", color="magenta", weight=3]; 5726 -> 5821[label="",style="dashed", color="magenta", weight=3]; 5727[label="primDivNatS0 (Succ vuz30100) vuz31900 (primGEqNatS (Succ vuz30100) vuz31900)",fontsize=16,color="burlywood",shape="box"];8423[label="vuz31900/Succ vuz319000",fontsize=10,color="white",style="solid",shape="box"];5727 -> 8423[label="",style="solid", color="burlywood", weight=9]; 8423 -> 5822[label="",style="solid", color="burlywood", weight=3]; 8424[label="vuz31900/Zero",fontsize=10,color="white",style="solid",shape="box"];5727 -> 8424[label="",style="solid", color="burlywood", weight=9]; 8424 -> 5823[label="",style="solid", color="burlywood", weight=3]; 5728[label="primDivNatS0 Zero vuz31900 (primGEqNatS Zero vuz31900)",fontsize=16,color="burlywood",shape="box"];8425[label="vuz31900/Succ vuz319000",fontsize=10,color="white",style="solid",shape="box"];5728 -> 8425[label="",style="solid", color="burlywood", weight=9]; 8425 -> 5824[label="",style="solid", color="burlywood", weight=3]; 8426[label="vuz31900/Zero",fontsize=10,color="white",style="solid",shape="box"];5728 -> 8426[label="",style="solid", color="burlywood", weight=9]; 8426 -> 5825[label="",style="solid", color="burlywood", weight=3]; 5729[label="gcd3 (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5729 -> 5826[label="",style="solid", color="black", weight=3]; 6956[label="primMulInt vuz410 (signum (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8427[label="vuz410/Pos vuz4100",fontsize=10,color="white",style="solid",shape="box"];6956 -> 8427[label="",style="solid", color="burlywood", weight=9]; 8427 -> 7005[label="",style="solid", color="burlywood", weight=3]; 8428[label="vuz410/Neg vuz4100",fontsize=10,color="white",style="solid",shape="box"];6956 -> 8428[label="",style="solid", color="burlywood", weight=9]; 8428 -> 7006[label="",style="solid", color="burlywood", weight=3]; 6957 -> 7007[label="",style="dashed", color="red", weight=0]; 6957[label="gcd0 (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6957 -> 7008[label="",style="dashed", color="magenta", weight=3]; 6958 -> 7009[label="",style="dashed", color="red", weight=0]; 6958[label="gcd1 (Neg Zero == fromInt (Pos Zero)) (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6958 -> 7010[label="",style="dashed", color="magenta", weight=3]; 6958 -> 7011[label="",style="dashed", color="magenta", weight=3]; 570 -> 148[label="",style="dashed", color="red", weight=0]; 570[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];570 -> 620[label="",style="dashed", color="magenta", weight=3]; 571 -> 148[label="",style="dashed", color="red", weight=0]; 571[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];571 -> 621[label="",style="dashed", color="magenta", weight=3]; 569[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz32 == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz31) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="triangle"];8429[label="vuz32/False",fontsize=10,color="white",style="solid",shape="box"];569 -> 8429[label="",style="solid", color="burlywood", weight=9]; 8429 -> 622[label="",style="solid", color="burlywood", weight=3]; 8430[label="vuz32/True",fontsize=10,color="white",style="solid",shape="box"];569 -> 8430[label="",style="solid", color="burlywood", weight=9]; 8430 -> 623[label="",style="solid", color="burlywood", weight=3]; 572[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz23) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];572 -> 624[label="",style="solid", color="black", weight=3]; 573[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz23) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];573 -> 625[label="",style="solid", color="black", weight=3]; 574[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];574 -> 626[label="",style="solid", color="black", weight=3]; 575[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz25) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];575 -> 627[label="",style="solid", color="black", weight=3]; 576[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz25) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];576 -> 628[label="",style="solid", color="black", weight=3]; 577 -> 5417[label="",style="dashed", color="red", weight=0]; 577[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];577 -> 5469[label="",style="dashed", color="magenta", weight=3]; 577 -> 5470[label="",style="dashed", color="magenta", weight=3]; 4658[label="Succ vuz27500",fontsize=16,color="green",shape="box"];4659[label="vuz23600",fontsize=16,color="green",shape="box"];4579[label="primPlusNat (Succ vuz2850) (Succ vuz27500)",fontsize=16,color="black",shape="box"];4579 -> 4655[label="",style="solid", color="black", weight=3]; 4580[label="primPlusNat Zero (Succ vuz27500)",fontsize=16,color="black",shape="box"];4580 -> 4656[label="",style="solid", color="black", weight=3]; 5730[label="Pos vuz325",fontsize=16,color="green",shape="box"];5731[label="gcd2 False (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5731 -> 5827[label="",style="solid", color="black", weight=3]; 5732[label="gcd2 True (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5732 -> 5828[label="",style="solid", color="black", weight=3]; 581[label="primQuotInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Neg (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];581 -> 632[label="",style="solid", color="black", weight=3]; 585 -> 6450[label="",style="dashed", color="red", weight=0]; 585[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="magenta"];585 -> 6511[label="",style="dashed", color="magenta", weight=3]; 585 -> 6512[label="",style="dashed", color="magenta", weight=3]; 586[label="primQuotInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Neg (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];586 -> 636[label="",style="solid", color="black", weight=3]; 590 -> 6450[label="",style="dashed", color="red", weight=0]; 590[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];590 -> 6513[label="",style="dashed", color="magenta", weight=3]; 590 -> 6514[label="",style="dashed", color="magenta", weight=3]; 6959[label="Neg vuz412",fontsize=16,color="green",shape="box"];6960[label="gcd2 False (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6960 -> 7012[label="",style="solid", color="black", weight=3]; 6961[label="gcd2 True (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6961 -> 7013[label="",style="solid", color="black", weight=3]; 594[label="primQuotInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Neg (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];594 -> 642[label="",style="solid", color="black", weight=3]; 598 -> 5417[label="",style="dashed", color="red", weight=0]; 598[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="magenta"];598 -> 5473[label="",style="dashed", color="magenta", weight=3]; 598 -> 5474[label="",style="dashed", color="magenta", weight=3]; 599[label="primQuotInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Neg (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];599 -> 646[label="",style="solid", color="black", weight=3]; 603[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];603 -> 649[label="",style="solid", color="black", weight=3]; 2689[label="Pos Zero",fontsize=16,color="green",shape="box"];2690[label="Pos Zero",fontsize=16,color="green",shape="box"];604[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];604 -> 650[label="",style="solid", color="black", weight=3]; 605[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];605 -> 651[label="",style="solid", color="black", weight=3]; 2691[label="Pos Zero",fontsize=16,color="green",shape="box"];2692[label="Pos Zero",fontsize=16,color="green",shape="box"];2693[label="Pos Zero",fontsize=16,color="green",shape="box"];2694[label="Neg Zero",fontsize=16,color="green",shape="box"];606[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];606 -> 652[label="",style="solid", color="black", weight=3]; 607[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];607 -> 653[label="",style="solid", color="black", weight=3]; 2695[label="Pos Zero",fontsize=16,color="green",shape="box"];2696[label="Neg Zero",fontsize=16,color="green",shape="box"];608[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];608 -> 654[label="",style="solid", color="black", weight=3]; 2697[label="Pos Zero",fontsize=16,color="green",shape="box"];2698[label="Pos Zero",fontsize=16,color="green",shape="box"];609[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];609 -> 655[label="",style="solid", color="black", weight=3]; 610[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];610 -> 656[label="",style="solid", color="black", weight=3]; 2699[label="Pos Zero",fontsize=16,color="green",shape="box"];2700[label="Pos Zero",fontsize=16,color="green",shape="box"];2701[label="Pos Zero",fontsize=16,color="green",shape="box"];2702[label="Neg Zero",fontsize=16,color="green",shape="box"];611[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];611 -> 657[label="",style="solid", color="black", weight=3]; 612[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];612 -> 658[label="",style="solid", color="black", weight=3]; 2703[label="Pos Zero",fontsize=16,color="green",shape="box"];2704[label="Neg Zero",fontsize=16,color="green",shape="box"];5812[label="primMulInt vuz323 (signum (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8431[label="vuz323/Pos vuz3230",fontsize=10,color="white",style="solid",shape="box"];5812 -> 8431[label="",style="solid", color="burlywood", weight=9]; 8431 -> 5829[label="",style="solid", color="burlywood", weight=3]; 8432[label="vuz323/Neg vuz3230",fontsize=10,color="white",style="solid",shape="box"];5812 -> 8432[label="",style="solid", color="burlywood", weight=9]; 8432 -> 5830[label="",style="solid", color="burlywood", weight=3]; 5813 -> 5831[label="",style="dashed", color="red", weight=0]; 5813[label="gcd0 (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5813 -> 5832[label="",style="dashed", color="magenta", weight=3]; 5814 -> 5833[label="",style="dashed", color="red", weight=0]; 5814[label="gcd1 (Pos (Succ vuz900) == fromInt (Pos Zero)) (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5814 -> 5834[label="",style="dashed", color="magenta", weight=3]; 5814 -> 5835[label="",style="dashed", color="magenta", weight=3]; 5815[label="primMulInt (Pos vuz3220) (signum (Pos Zero))",fontsize=16,color="black",shape="box"];5815 -> 5836[label="",style="solid", color="black", weight=3]; 5816[label="primMulInt (Neg vuz3220) (signum (Pos Zero))",fontsize=16,color="black",shape="box"];5816 -> 5837[label="",style="solid", color="black", weight=3]; 5818 -> 5714[label="",style="dashed", color="red", weight=0]; 5818[label="vuz322 * signum (Pos Zero)",fontsize=16,color="magenta"];5817[label="gcd0 vuz344 (Pos Zero)",fontsize=16,color="black",shape="triangle"];5817 -> 5838[label="",style="solid", color="black", weight=3]; 5820 -> 2582[label="",style="dashed", color="red", weight=0]; 5820[label="Pos Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];5820 -> 5839[label="",style="dashed", color="magenta", weight=3]; 5821 -> 5714[label="",style="dashed", color="red", weight=0]; 5821[label="vuz322 * signum (Pos Zero)",fontsize=16,color="magenta"];5819[label="gcd1 vuz346 vuz345 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];8433[label="vuz346/False",fontsize=10,color="white",style="solid",shape="box"];5819 -> 8433[label="",style="solid", color="burlywood", weight=9]; 8433 -> 5840[label="",style="solid", color="burlywood", weight=3]; 8434[label="vuz346/True",fontsize=10,color="white",style="solid",shape="box"];5819 -> 8434[label="",style="solid", color="burlywood", weight=9]; 8434 -> 5841[label="",style="solid", color="burlywood", weight=3]; 5822[label="primDivNatS0 (Succ vuz30100) (Succ vuz319000) (primGEqNatS (Succ vuz30100) (Succ vuz319000))",fontsize=16,color="black",shape="box"];5822 -> 5842[label="",style="solid", color="black", weight=3]; 5823[label="primDivNatS0 (Succ vuz30100) Zero (primGEqNatS (Succ vuz30100) Zero)",fontsize=16,color="black",shape="box"];5823 -> 5843[label="",style="solid", color="black", weight=3]; 5824[label="primDivNatS0 Zero (Succ vuz319000) (primGEqNatS Zero (Succ vuz319000))",fontsize=16,color="black",shape="box"];5824 -> 5844[label="",style="solid", color="black", weight=3]; 5825[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];5825 -> 5845[label="",style="solid", color="black", weight=3]; 5826 -> 5846[label="",style="dashed", color="red", weight=0]; 5826[label="gcd2 (vuz326 * signum (Neg (Succ vuz900)) == fromInt (Pos Zero)) (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5826 -> 5847[label="",style="dashed", color="magenta", weight=3]; 7005[label="primMulInt (Pos vuz4100) (signum (Neg Zero))",fontsize=16,color="black",shape="box"];7005 -> 7014[label="",style="solid", color="black", weight=3]; 7006[label="primMulInt (Neg vuz4100) (signum (Neg Zero))",fontsize=16,color="black",shape="box"];7006 -> 7015[label="",style="solid", color="black", weight=3]; 7008 -> 6939[label="",style="dashed", color="red", weight=0]; 7008[label="vuz410 * signum (Neg Zero)",fontsize=16,color="magenta"];7007[label="gcd0 vuz421 (Neg Zero)",fontsize=16,color="black",shape="triangle"];7007 -> 7016[label="",style="solid", color="black", weight=3]; 7010 -> 2582[label="",style="dashed", color="red", weight=0]; 7010[label="Neg Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];7010 -> 7017[label="",style="dashed", color="magenta", weight=3]; 7011 -> 6939[label="",style="dashed", color="red", weight=0]; 7011[label="vuz410 * signum (Neg Zero)",fontsize=16,color="magenta"];7009[label="gcd1 vuz423 vuz422 (Neg Zero)",fontsize=16,color="burlywood",shape="triangle"];8435[label="vuz423/False",fontsize=10,color="white",style="solid",shape="box"];7009 -> 8435[label="",style="solid", color="burlywood", weight=9]; 8435 -> 7018[label="",style="solid", color="burlywood", weight=3]; 8436[label="vuz423/True",fontsize=10,color="white",style="solid",shape="box"];7009 -> 8436[label="",style="solid", color="burlywood", weight=9]; 8436 -> 7019[label="",style="solid", color="burlywood", weight=3]; 620[label="vuz900",fontsize=16,color="green",shape="box"];621[label="vuz900",fontsize=16,color="green",shape="box"];622[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz31) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];622 -> 666[label="",style="solid", color="black", weight=3]; 623[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz31) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];623 -> 667[label="",style="solid", color="black", weight=3]; 624[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (Integer (Pos Zero) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (Integer (Pos Zero) > fromInt (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];624 -> 668[label="",style="solid", color="black", weight=3]; 625[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * fromInt (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];625 -> 669[label="",style="solid", color="black", weight=3]; 626[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == fromInt (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];626 -> 670[label="",style="solid", color="black", weight=3]; 627[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (Integer (Neg Zero) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (Integer (Neg Zero) > fromInt (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];627 -> 671[label="",style="solid", color="black", weight=3]; 628[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * fromInt (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];628 -> 672[label="",style="solid", color="black", weight=3]; 5469 -> 4436[label="",style="dashed", color="red", weight=0]; 5469[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5469 -> 5666[label="",style="dashed", color="magenta", weight=3]; 5469 -> 5667[label="",style="dashed", color="magenta", weight=3]; 5470 -> 5621[label="",style="dashed", color="red", weight=0]; 5470[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5470 -> 5628[label="",style="dashed", color="magenta", weight=3]; 5470 -> 5629[label="",style="dashed", color="magenta", weight=3]; 4655[label="Succ (Succ (primPlusNat vuz2850 vuz27500))",fontsize=16,color="green",shape="box"];4655 -> 4682[label="",style="dashed", color="green", weight=3]; 4656[label="Succ vuz27500",fontsize=16,color="green",shape="box"];5827[label="gcd0 (Pos vuz325) vuz324",fontsize=16,color="black",shape="triangle"];5827 -> 5848[label="",style="solid", color="black", weight=3]; 5828 -> 5849[label="",style="dashed", color="red", weight=0]; 5828[label="gcd1 (vuz324 == fromInt (Pos Zero)) (Pos vuz325) vuz324",fontsize=16,color="magenta"];5828 -> 5850[label="",style="dashed", color="magenta", weight=3]; 632 -> 6450[label="",style="dashed", color="red", weight=0]; 632[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="magenta"];632 -> 6525[label="",style="dashed", color="magenta", weight=3]; 632 -> 6526[label="",style="dashed", color="magenta", weight=3]; 6511 -> 4436[label="",style="dashed", color="red", weight=0]; 6511[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6511 -> 6899[label="",style="dashed", color="magenta", weight=3]; 6511 -> 6900[label="",style="dashed", color="magenta", weight=3]; 6512 -> 6865[label="",style="dashed", color="red", weight=0]; 6512[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900)))",fontsize=16,color="magenta"];6512 -> 6872[label="",style="dashed", color="magenta", weight=3]; 6512 -> 6873[label="",style="dashed", color="magenta", weight=3]; 636 -> 6450[label="",style="dashed", color="red", weight=0]; 636[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="magenta"];636 -> 6529[label="",style="dashed", color="magenta", weight=3]; 636 -> 6530[label="",style="dashed", color="magenta", weight=3]; 6513 -> 4436[label="",style="dashed", color="red", weight=0]; 6513[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6513 -> 6901[label="",style="dashed", color="magenta", weight=3]; 6513 -> 6902[label="",style="dashed", color="magenta", weight=3]; 6514 -> 6865[label="",style="dashed", color="red", weight=0]; 6514[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];6514 -> 6874[label="",style="dashed", color="magenta", weight=3]; 6514 -> 6875[label="",style="dashed", color="magenta", weight=3]; 7012[label="gcd0 (Neg vuz412) vuz411",fontsize=16,color="black",shape="triangle"];7012 -> 7048[label="",style="solid", color="black", weight=3]; 7013 -> 7049[label="",style="dashed", color="red", weight=0]; 7013[label="gcd1 (vuz411 == fromInt (Pos Zero)) (Neg vuz412) vuz411",fontsize=16,color="magenta"];7013 -> 7050[label="",style="dashed", color="magenta", weight=3]; 642 -> 5417[label="",style="dashed", color="red", weight=0]; 642[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="magenta"];642 -> 5481[label="",style="dashed", color="magenta", weight=3]; 642 -> 5482[label="",style="dashed", color="magenta", weight=3]; 5473 -> 4436[label="",style="dashed", color="red", weight=0]; 5473[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5473 -> 5668[label="",style="dashed", color="magenta", weight=3]; 5473 -> 5669[label="",style="dashed", color="magenta", weight=3]; 5474 -> 5621[label="",style="dashed", color="red", weight=0]; 5474[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900)))",fontsize=16,color="magenta"];5474 -> 5630[label="",style="dashed", color="magenta", weight=3]; 5474 -> 5631[label="",style="dashed", color="magenta", weight=3]; 646 -> 5417[label="",style="dashed", color="red", weight=0]; 646[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="magenta"];646 -> 5485[label="",style="dashed", color="magenta", weight=3]; 646 -> 5486[label="",style="dashed", color="magenta", weight=3]; 649[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8437[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];649 -> 8437[label="",style="solid", color="burlywood", weight=9]; 8437 -> 693[label="",style="solid", color="burlywood", weight=3]; 8438[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];649 -> 8438[label="",style="solid", color="burlywood", weight=9]; 8438 -> 694[label="",style="solid", color="burlywood", weight=3]; 650[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];650 -> 695[label="",style="solid", color="black", weight=3]; 651[label="Integer (Pos Zero) `quot` gcd1 (abs (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];651 -> 696[label="",style="solid", color="black", weight=3]; 652[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];652 -> 697[label="",style="solid", color="black", weight=3]; 653[label="Integer (Neg Zero) `quot` gcd1 (abs (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];653 -> 698[label="",style="solid", color="black", weight=3]; 654[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];654 -> 699[label="",style="solid", color="black", weight=3]; 655[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];655 -> 700[label="",style="solid", color="black", weight=3]; 656[label="Integer (Pos Zero) `quot` gcd1 (abs (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];656 -> 701[label="",style="solid", color="black", weight=3]; 657[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];657 -> 702[label="",style="solid", color="black", weight=3]; 658[label="Integer (Neg Zero) `quot` gcd1 (abs (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];658 -> 703[label="",style="solid", color="black", weight=3]; 5829[label="primMulInt (Pos vuz3230) (signum (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5829 -> 5851[label="",style="solid", color="black", weight=3]; 5830[label="primMulInt (Neg vuz3230) (signum (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5830 -> 5852[label="",style="solid", color="black", weight=3]; 5832 -> 5721[label="",style="dashed", color="red", weight=0]; 5832[label="vuz323 * signum (Pos (Succ vuz900))",fontsize=16,color="magenta"];5831[label="gcd0 vuz348 (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5831 -> 5853[label="",style="solid", color="black", weight=3]; 5834 -> 5721[label="",style="dashed", color="red", weight=0]; 5834[label="vuz323 * signum (Pos (Succ vuz900))",fontsize=16,color="magenta"];5835 -> 2582[label="",style="dashed", color="red", weight=0]; 5835[label="Pos (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5835 -> 5854[label="",style="dashed", color="magenta", weight=3]; 5833[label="gcd1 vuz350 vuz349 (Pos (Succ vuz900))",fontsize=16,color="burlywood",shape="triangle"];8439[label="vuz350/False",fontsize=10,color="white",style="solid",shape="box"];5833 -> 8439[label="",style="solid", color="burlywood", weight=9]; 8439 -> 5855[label="",style="solid", color="burlywood", weight=3]; 8440[label="vuz350/True",fontsize=10,color="white",style="solid",shape="box"];5833 -> 8440[label="",style="solid", color="burlywood", weight=9]; 8440 -> 5856[label="",style="solid", color="burlywood", weight=3]; 5836 -> 6106[label="",style="dashed", color="red", weight=0]; 5836[label="primMulInt (Pos vuz3220) (signumReal (Pos Zero))",fontsize=16,color="magenta"];5836 -> 6107[label="",style="dashed", color="magenta", weight=3]; 5837 -> 6140[label="",style="dashed", color="red", weight=0]; 5837[label="primMulInt (Neg vuz3220) (signumReal (Pos Zero))",fontsize=16,color="magenta"];5837 -> 6141[label="",style="dashed", color="magenta", weight=3]; 5838 -> 4166[label="",style="dashed", color="red", weight=0]; 5838[label="gcd0Gcd' (abs vuz344) (abs (Pos Zero))",fontsize=16,color="magenta"];5838 -> 5859[label="",style="dashed", color="magenta", weight=3]; 5838 -> 5860[label="",style="dashed", color="magenta", weight=3]; 5839[label="Pos Zero",fontsize=16,color="green",shape="box"];5840[label="gcd1 False vuz345 (Pos Zero)",fontsize=16,color="black",shape="box"];5840 -> 5861[label="",style="solid", color="black", weight=3]; 5841[label="gcd1 True vuz345 (Pos Zero)",fontsize=16,color="black",shape="box"];5841 -> 5862[label="",style="solid", color="black", weight=3]; 5842 -> 7477[label="",style="dashed", color="red", weight=0]; 5842[label="primDivNatS0 (Succ vuz30100) (Succ vuz319000) (primGEqNatS vuz30100 vuz319000)",fontsize=16,color="magenta"];5842 -> 7478[label="",style="dashed", color="magenta", weight=3]; 5842 -> 7479[label="",style="dashed", color="magenta", weight=3]; 5842 -> 7480[label="",style="dashed", color="magenta", weight=3]; 5842 -> 7481[label="",style="dashed", color="magenta", weight=3]; 5843[label="primDivNatS0 (Succ vuz30100) Zero True",fontsize=16,color="black",shape="box"];5843 -> 5865[label="",style="solid", color="black", weight=3]; 5844[label="primDivNatS0 Zero (Succ vuz319000) False",fontsize=16,color="black",shape="box"];5844 -> 5866[label="",style="solid", color="black", weight=3]; 5845[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];5845 -> 5867[label="",style="solid", color="black", weight=3]; 5847 -> 2582[label="",style="dashed", color="red", weight=0]; 5847[label="vuz326 * signum (Neg (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5847 -> 5868[label="",style="dashed", color="magenta", weight=3]; 5846[label="gcd2 vuz352 (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="burlywood",shape="triangle"];8441[label="vuz352/False",fontsize=10,color="white",style="solid",shape="box"];5846 -> 8441[label="",style="solid", color="burlywood", weight=9]; 8441 -> 5869[label="",style="solid", color="burlywood", weight=3]; 8442[label="vuz352/True",fontsize=10,color="white",style="solid",shape="box"];5846 -> 8442[label="",style="solid", color="burlywood", weight=9]; 8442 -> 5870[label="",style="solid", color="burlywood", weight=3]; 7014 -> 6106[label="",style="dashed", color="red", weight=0]; 7014[label="primMulInt (Pos vuz4100) (signumReal (Neg Zero))",fontsize=16,color="magenta"];7014 -> 7051[label="",style="dashed", color="magenta", weight=3]; 7014 -> 7052[label="",style="dashed", color="magenta", weight=3]; 7015 -> 6140[label="",style="dashed", color="red", weight=0]; 7015[label="primMulInt (Neg vuz4100) (signumReal (Neg Zero))",fontsize=16,color="magenta"];7015 -> 7053[label="",style="dashed", color="magenta", weight=3]; 7015 -> 7054[label="",style="dashed", color="magenta", weight=3]; 7016 -> 4166[label="",style="dashed", color="red", weight=0]; 7016[label="gcd0Gcd' (abs vuz421) (abs (Neg Zero))",fontsize=16,color="magenta"];7016 -> 7055[label="",style="dashed", color="magenta", weight=3]; 7016 -> 7056[label="",style="dashed", color="magenta", weight=3]; 7017[label="Neg Zero",fontsize=16,color="green",shape="box"];7018[label="gcd1 False vuz422 (Neg Zero)",fontsize=16,color="black",shape="box"];7018 -> 7057[label="",style="solid", color="black", weight=3]; 7019[label="gcd1 True vuz422 (Neg Zero)",fontsize=16,color="black",shape="box"];7019 -> 7058[label="",style="solid", color="black", weight=3]; 666[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];666 -> 712[label="",style="solid", color="black", weight=3]; 667[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * fromInt (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos Zero)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];667 -> 713[label="",style="solid", color="black", weight=3]; 668[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];668 -> 714[label="",style="solid", color="black", weight=3]; 669[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * Integer (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];669 -> 715[label="",style="solid", color="black", weight=3]; 670[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == Integer (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];670 -> 716[label="",style="solid", color="black", weight=3]; 671[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];671 -> 717[label="",style="solid", color="black", weight=3]; 672[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * Integer (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];672 -> 718[label="",style="solid", color="black", weight=3]; 5666[label="Succ Zero",fontsize=16,color="green",shape="box"];5667[label="vuz80",fontsize=16,color="green",shape="box"];5628 -> 4436[label="",style="dashed", color="red", weight=0]; 5628[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5628 -> 5670[label="",style="dashed", color="magenta", weight=3]; 5628 -> 5671[label="",style="dashed", color="magenta", weight=3]; 5629 -> 2348[label="",style="dashed", color="red", weight=0]; 5629[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];5629 -> 5672[label="",style="dashed", color="magenta", weight=3]; 4682[label="primPlusNat vuz2850 vuz27500",fontsize=16,color="burlywood",shape="triangle"];8443[label="vuz2850/Succ vuz28500",fontsize=10,color="white",style="solid",shape="box"];4682 -> 8443[label="",style="solid", color="burlywood", weight=9]; 8443 -> 4705[label="",style="solid", color="burlywood", weight=3]; 8444[label="vuz2850/Zero",fontsize=10,color="white",style="solid",shape="box"];4682 -> 8444[label="",style="solid", color="burlywood", weight=9]; 8444 -> 4706[label="",style="solid", color="burlywood", weight=3]; 5848 -> 4166[label="",style="dashed", color="red", weight=0]; 5848[label="gcd0Gcd' (abs (Pos vuz325)) (abs vuz324)",fontsize=16,color="magenta"];5848 -> 5871[label="",style="dashed", color="magenta", weight=3]; 5848 -> 5872[label="",style="dashed", color="magenta", weight=3]; 5850 -> 2582[label="",style="dashed", color="red", weight=0]; 5850[label="vuz324 == fromInt (Pos Zero)",fontsize=16,color="magenta"];5850 -> 5873[label="",style="dashed", color="magenta", weight=3]; 5849[label="gcd1 vuz354 (Pos vuz325) vuz324",fontsize=16,color="burlywood",shape="triangle"];8445[label="vuz354/False",fontsize=10,color="white",style="solid",shape="box"];5849 -> 8445[label="",style="solid", color="burlywood", weight=9]; 8445 -> 5874[label="",style="solid", color="burlywood", weight=3]; 8446[label="vuz354/True",fontsize=10,color="white",style="solid",shape="box"];5849 -> 8446[label="",style="solid", color="burlywood", weight=9]; 8446 -> 5875[label="",style="solid", color="burlywood", weight=3]; 6525 -> 4436[label="",style="dashed", color="red", weight=0]; 6525[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6525 -> 6903[label="",style="dashed", color="magenta", weight=3]; 6525 -> 6904[label="",style="dashed", color="magenta", weight=3]; 6526 -> 6865[label="",style="dashed", color="red", weight=0]; 6526[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero))",fontsize=16,color="magenta"];6526 -> 6876[label="",style="dashed", color="magenta", weight=3]; 6526 -> 6877[label="",style="dashed", color="magenta", weight=3]; 6899[label="Succ Zero",fontsize=16,color="green",shape="box"];6900[label="vuz80",fontsize=16,color="green",shape="box"];6872 -> 4436[label="",style="dashed", color="red", weight=0]; 6872[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6872 -> 6905[label="",style="dashed", color="magenta", weight=3]; 6872 -> 6906[label="",style="dashed", color="magenta", weight=3]; 6873 -> 2348[label="",style="dashed", color="red", weight=0]; 6873[label="abs (Neg (Succ vuz900))",fontsize=16,color="magenta"];6873 -> 6907[label="",style="dashed", color="magenta", weight=3]; 6529 -> 4436[label="",style="dashed", color="red", weight=0]; 6529[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6529 -> 6908[label="",style="dashed", color="magenta", weight=3]; 6529 -> 6909[label="",style="dashed", color="magenta", weight=3]; 6530 -> 6865[label="",style="dashed", color="red", weight=0]; 6530[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero))",fontsize=16,color="magenta"];6530 -> 6878[label="",style="dashed", color="magenta", weight=3]; 6530 -> 6879[label="",style="dashed", color="magenta", weight=3]; 6901[label="Succ Zero",fontsize=16,color="green",shape="box"];6902[label="vuz80",fontsize=16,color="green",shape="box"];6874 -> 4436[label="",style="dashed", color="red", weight=0]; 6874[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6874 -> 6910[label="",style="dashed", color="magenta", weight=3]; 6874 -> 6911[label="",style="dashed", color="magenta", weight=3]; 6875 -> 2348[label="",style="dashed", color="red", weight=0]; 6875[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];6875 -> 6912[label="",style="dashed", color="magenta", weight=3]; 7048 -> 4166[label="",style="dashed", color="red", weight=0]; 7048[label="gcd0Gcd' (abs (Neg vuz412)) (abs vuz411)",fontsize=16,color="magenta"];7048 -> 7059[label="",style="dashed", color="magenta", weight=3]; 7048 -> 7060[label="",style="dashed", color="magenta", weight=3]; 7050 -> 2582[label="",style="dashed", color="red", weight=0]; 7050[label="vuz411 == fromInt (Pos Zero)",fontsize=16,color="magenta"];7050 -> 7061[label="",style="dashed", color="magenta", weight=3]; 7049[label="gcd1 vuz425 (Neg vuz412) vuz411",fontsize=16,color="burlywood",shape="triangle"];8447[label="vuz425/False",fontsize=10,color="white",style="solid",shape="box"];7049 -> 8447[label="",style="solid", color="burlywood", weight=9]; 8447 -> 7062[label="",style="solid", color="burlywood", weight=3]; 8448[label="vuz425/True",fontsize=10,color="white",style="solid",shape="box"];7049 -> 8448[label="",style="solid", color="burlywood", weight=9]; 8448 -> 7063[label="",style="solid", color="burlywood", weight=3]; 5481 -> 4436[label="",style="dashed", color="red", weight=0]; 5481[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5481 -> 5673[label="",style="dashed", color="magenta", weight=3]; 5481 -> 5674[label="",style="dashed", color="magenta", weight=3]; 5482 -> 5621[label="",style="dashed", color="red", weight=0]; 5482[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero))",fontsize=16,color="magenta"];5482 -> 5632[label="",style="dashed", color="magenta", weight=3]; 5482 -> 5633[label="",style="dashed", color="magenta", weight=3]; 5668[label="Succ Zero",fontsize=16,color="green",shape="box"];5669[label="vuz80",fontsize=16,color="green",shape="box"];5630 -> 4436[label="",style="dashed", color="red", weight=0]; 5630[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5630 -> 5675[label="",style="dashed", color="magenta", weight=3]; 5630 -> 5676[label="",style="dashed", color="magenta", weight=3]; 5631 -> 2348[label="",style="dashed", color="red", weight=0]; 5631[label="abs (Neg (Succ vuz900))",fontsize=16,color="magenta"];5631 -> 5677[label="",style="dashed", color="magenta", weight=3]; 5485 -> 4436[label="",style="dashed", color="red", weight=0]; 5485[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5485 -> 5678[label="",style="dashed", color="magenta", weight=3]; 5485 -> 5679[label="",style="dashed", color="magenta", weight=3]; 5486 -> 5621[label="",style="dashed", color="red", weight=0]; 5486[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero))",fontsize=16,color="magenta"];5486 -> 5634[label="",style="dashed", color="magenta", weight=3]; 5486 -> 5635[label="",style="dashed", color="magenta", weight=3]; 693[label="Integer (primMulInt (Pos vuz80) (Pos (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];693 -> 739[label="",style="solid", color="black", weight=3]; 694[label="Integer (primMulInt (Neg vuz80) (Pos (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];694 -> 740[label="",style="solid", color="black", weight=3]; 695[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];695 -> 741[label="",style="solid", color="black", weight=3]; 696[label="Integer (Pos Zero) `quot` gcd1 (absReal (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];696 -> 742[label="",style="solid", color="black", weight=3]; 697[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];697 -> 743[label="",style="solid", color="black", weight=3]; 698[label="Integer (Neg Zero) `quot` gcd1 (absReal (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];698 -> 744[label="",style="solid", color="black", weight=3]; 699[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt vuz8 (Neg (Succ Zero))) (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8449[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];699 -> 8449[label="",style="solid", color="burlywood", weight=9]; 8449 -> 745[label="",style="solid", color="burlywood", weight=3]; 8450[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];699 -> 8450[label="",style="solid", color="burlywood", weight=9]; 8450 -> 746[label="",style="solid", color="burlywood", weight=3]; 700[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];700 -> 747[label="",style="solid", color="black", weight=3]; 701[label="Integer (Pos Zero) `quot` gcd1 (absReal (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];701 -> 748[label="",style="solid", color="black", weight=3]; 702[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];702 -> 749[label="",style="solid", color="black", weight=3]; 703[label="Integer (Neg Zero) `quot` gcd1 (absReal (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];703 -> 750[label="",style="solid", color="black", weight=3]; 5851 -> 6106[label="",style="dashed", color="red", weight=0]; 5851[label="primMulInt (Pos vuz3230) (signumReal (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5851 -> 6108[label="",style="dashed", color="magenta", weight=3]; 5851 -> 6109[label="",style="dashed", color="magenta", weight=3]; 5852 -> 6140[label="",style="dashed", color="red", weight=0]; 5852[label="primMulInt (Neg vuz3230) (signumReal (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5852 -> 6142[label="",style="dashed", color="magenta", weight=3]; 5852 -> 6143[label="",style="dashed", color="magenta", weight=3]; 5853 -> 4166[label="",style="dashed", color="red", weight=0]; 5853[label="gcd0Gcd' (abs vuz348) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5853 -> 5891[label="",style="dashed", color="magenta", weight=3]; 5853 -> 5892[label="",style="dashed", color="magenta", weight=3]; 5854[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];5855[label="gcd1 False vuz349 (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5855 -> 5893[label="",style="solid", color="black", weight=3]; 5856[label="gcd1 True vuz349 (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5856 -> 5894[label="",style="solid", color="black", weight=3]; 6107[label="signumReal (Pos Zero)",fontsize=16,color="black",shape="triangle"];6107 -> 6130[label="",style="solid", color="black", weight=3]; 6106[label="primMulInt (Pos vuz3220) vuz374",fontsize=16,color="burlywood",shape="triangle"];8451[label="vuz374/Pos vuz3740",fontsize=10,color="white",style="solid",shape="box"];6106 -> 8451[label="",style="solid", color="burlywood", weight=9]; 8451 -> 6131[label="",style="solid", color="burlywood", weight=3]; 8452[label="vuz374/Neg vuz3740",fontsize=10,color="white",style="solid",shape="box"];6106 -> 8452[label="",style="solid", color="burlywood", weight=9]; 8452 -> 6132[label="",style="solid", color="burlywood", weight=3]; 6141 -> 6107[label="",style="dashed", color="red", weight=0]; 6141[label="signumReal (Pos Zero)",fontsize=16,color="magenta"];6140[label="primMulInt (Neg vuz3220) vuz376",fontsize=16,color="burlywood",shape="triangle"];8453[label="vuz376/Pos vuz3760",fontsize=10,color="white",style="solid",shape="box"];6140 -> 8453[label="",style="solid", color="burlywood", weight=9]; 8453 -> 6164[label="",style="solid", color="burlywood", weight=3]; 8454[label="vuz376/Neg vuz3760",fontsize=10,color="white",style="solid",shape="box"];6140 -> 8454[label="",style="solid", color="burlywood", weight=9]; 8454 -> 6165[label="",style="solid", color="burlywood", weight=3]; 5859 -> 2348[label="",style="dashed", color="red", weight=0]; 5859[label="abs vuz344",fontsize=16,color="magenta"];5859 -> 5897[label="",style="dashed", color="magenta", weight=3]; 5860 -> 2348[label="",style="dashed", color="red", weight=0]; 5860[label="abs (Pos Zero)",fontsize=16,color="magenta"];5860 -> 5898[label="",style="dashed", color="magenta", weight=3]; 4166[label="gcd0Gcd' vuz259 vuz258",fontsize=16,color="black",shape="triangle"];4166 -> 4188[label="",style="solid", color="black", weight=3]; 5861 -> 5817[label="",style="dashed", color="red", weight=0]; 5861[label="gcd0 vuz345 (Pos Zero)",fontsize=16,color="magenta"];5861 -> 5899[label="",style="dashed", color="magenta", weight=3]; 5862 -> 3082[label="",style="dashed", color="red", weight=0]; 5862[label="error []",fontsize=16,color="magenta"];7478[label="vuz30100",fontsize=16,color="green",shape="box"];7479[label="vuz319000",fontsize=16,color="green",shape="box"];7480[label="vuz319000",fontsize=16,color="green",shape="box"];7481[label="vuz30100",fontsize=16,color="green",shape="box"];7477[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS vuz454 vuz455)",fontsize=16,color="burlywood",shape="triangle"];8455[label="vuz454/Succ vuz4540",fontsize=10,color="white",style="solid",shape="box"];7477 -> 8455[label="",style="solid", color="burlywood", weight=9]; 8455 -> 7514[label="",style="solid", color="burlywood", weight=3]; 8456[label="vuz454/Zero",fontsize=10,color="white",style="solid",shape="box"];7477 -> 8456[label="",style="solid", color="burlywood", weight=9]; 8456 -> 7515[label="",style="solid", color="burlywood", weight=3]; 5865[label="Succ (primDivNatS (primMinusNatS (Succ vuz30100) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5865 -> 5904[label="",style="dashed", color="green", weight=3]; 5866[label="Zero",fontsize=16,color="green",shape="box"];5867[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5867 -> 5905[label="",style="dashed", color="green", weight=3]; 5868[label="vuz326 * signum (Neg (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5868 -> 5906[label="",style="solid", color="black", weight=3]; 5869[label="gcd2 False (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5869 -> 5907[label="",style="solid", color="black", weight=3]; 5870[label="gcd2 True (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5870 -> 5908[label="",style="solid", color="black", weight=3]; 7051[label="vuz4100",fontsize=16,color="green",shape="box"];7052[label="signumReal (Neg Zero)",fontsize=16,color="black",shape="triangle"];7052 -> 7079[label="",style="solid", color="black", weight=3]; 7053 -> 7052[label="",style="dashed", color="red", weight=0]; 7053[label="signumReal (Neg Zero)",fontsize=16,color="magenta"];7054[label="vuz4100",fontsize=16,color="green",shape="box"];7055 -> 2348[label="",style="dashed", color="red", weight=0]; 7055[label="abs vuz421",fontsize=16,color="magenta"];7055 -> 7080[label="",style="dashed", color="magenta", weight=3]; 7056 -> 2348[label="",style="dashed", color="red", weight=0]; 7056[label="abs (Neg Zero)",fontsize=16,color="magenta"];7056 -> 7081[label="",style="dashed", color="magenta", weight=3]; 7057 -> 7007[label="",style="dashed", color="red", weight=0]; 7057[label="gcd0 vuz422 (Neg Zero)",fontsize=16,color="magenta"];7057 -> 7082[label="",style="dashed", color="magenta", weight=3]; 7058 -> 3082[label="",style="dashed", color="red", weight=0]; 7058[label="error []",fontsize=16,color="magenta"];712[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];712 -> 785[label="",style="solid", color="black", weight=3]; 713[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * Integer (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos Zero)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];713 -> 786[label="",style="solid", color="black", weight=3]; 714[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];714 -> 787[label="",style="solid", color="black", weight=3]; 715[label="Integer (Pos Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];715 -> 788[label="",style="solid", color="black", weight=3]; 716[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];716 -> 789[label="",style="solid", color="black", weight=3]; 717[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];717 -> 790[label="",style="solid", color="black", weight=3]; 718[label="Integer (Neg Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];718 -> 791[label="",style="solid", color="black", weight=3]; 5670[label="Succ Zero",fontsize=16,color="green",shape="box"];5671[label="vuz80",fontsize=16,color="green",shape="box"];5672[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];4705[label="primPlusNat (Succ vuz28500) vuz27500",fontsize=16,color="burlywood",shape="box"];8457[label="vuz27500/Succ vuz275000",fontsize=10,color="white",style="solid",shape="box"];4705 -> 8457[label="",style="solid", color="burlywood", weight=9]; 8457 -> 4758[label="",style="solid", color="burlywood", weight=3]; 8458[label="vuz27500/Zero",fontsize=10,color="white",style="solid",shape="box"];4705 -> 8458[label="",style="solid", color="burlywood", weight=9]; 8458 -> 4759[label="",style="solid", color="burlywood", weight=3]; 4706[label="primPlusNat Zero vuz27500",fontsize=16,color="burlywood",shape="box"];8459[label="vuz27500/Succ vuz275000",fontsize=10,color="white",style="solid",shape="box"];4706 -> 8459[label="",style="solid", color="burlywood", weight=9]; 8459 -> 4760[label="",style="solid", color="burlywood", weight=3]; 8460[label="vuz27500/Zero",fontsize=10,color="white",style="solid",shape="box"];4706 -> 8460[label="",style="solid", color="burlywood", weight=9]; 8460 -> 4761[label="",style="solid", color="burlywood", weight=3]; 5871 -> 2348[label="",style="dashed", color="red", weight=0]; 5871[label="abs (Pos vuz325)",fontsize=16,color="magenta"];5871 -> 5909[label="",style="dashed", color="magenta", weight=3]; 5872 -> 2348[label="",style="dashed", color="red", weight=0]; 5872[label="abs vuz324",fontsize=16,color="magenta"];5872 -> 5910[label="",style="dashed", color="magenta", weight=3]; 5873[label="vuz324",fontsize=16,color="green",shape="box"];5874[label="gcd1 False (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5874 -> 5911[label="",style="solid", color="black", weight=3]; 5875[label="gcd1 True (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5875 -> 5912[label="",style="solid", color="black", weight=3]; 6903[label="Succ Zero",fontsize=16,color="green",shape="box"];6904[label="vuz80",fontsize=16,color="green",shape="box"];6876 -> 4436[label="",style="dashed", color="red", weight=0]; 6876[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6876 -> 6913[label="",style="dashed", color="magenta", weight=3]; 6876 -> 6914[label="",style="dashed", color="magenta", weight=3]; 6877 -> 2348[label="",style="dashed", color="red", weight=0]; 6877[label="abs (Pos Zero)",fontsize=16,color="magenta"];6877 -> 6915[label="",style="dashed", color="magenta", weight=3]; 6905[label="Succ Zero",fontsize=16,color="green",shape="box"];6906[label="vuz80",fontsize=16,color="green",shape="box"];6907[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];6908[label="Succ Zero",fontsize=16,color="green",shape="box"];6909[label="vuz80",fontsize=16,color="green",shape="box"];6878 -> 4436[label="",style="dashed", color="red", weight=0]; 6878[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6878 -> 6916[label="",style="dashed", color="magenta", weight=3]; 6878 -> 6917[label="",style="dashed", color="magenta", weight=3]; 6879 -> 2348[label="",style="dashed", color="red", weight=0]; 6879[label="abs (Neg Zero)",fontsize=16,color="magenta"];6879 -> 6918[label="",style="dashed", color="magenta", weight=3]; 6910[label="Succ Zero",fontsize=16,color="green",shape="box"];6911[label="vuz80",fontsize=16,color="green",shape="box"];6912[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];7059 -> 2348[label="",style="dashed", color="red", weight=0]; 7059[label="abs (Neg vuz412)",fontsize=16,color="magenta"];7059 -> 7083[label="",style="dashed", color="magenta", weight=3]; 7060 -> 2348[label="",style="dashed", color="red", weight=0]; 7060[label="abs vuz411",fontsize=16,color="magenta"];7060 -> 7084[label="",style="dashed", color="magenta", weight=3]; 7061[label="vuz411",fontsize=16,color="green",shape="box"];7062[label="gcd1 False (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];7062 -> 7085[label="",style="solid", color="black", weight=3]; 7063[label="gcd1 True (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];7063 -> 7086[label="",style="solid", color="black", weight=3]; 5673[label="Succ Zero",fontsize=16,color="green",shape="box"];5674[label="vuz80",fontsize=16,color="green",shape="box"];5632 -> 4436[label="",style="dashed", color="red", weight=0]; 5632[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5632 -> 5680[label="",style="dashed", color="magenta", weight=3]; 5632 -> 5681[label="",style="dashed", color="magenta", weight=3]; 5633 -> 2348[label="",style="dashed", color="red", weight=0]; 5633[label="abs (Pos Zero)",fontsize=16,color="magenta"];5633 -> 5682[label="",style="dashed", color="magenta", weight=3]; 5675[label="Succ Zero",fontsize=16,color="green",shape="box"];5676[label="vuz80",fontsize=16,color="green",shape="box"];5677[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];5678[label="Succ Zero",fontsize=16,color="green",shape="box"];5679[label="vuz80",fontsize=16,color="green",shape="box"];5634 -> 4436[label="",style="dashed", color="red", weight=0]; 5634[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5634 -> 5683[label="",style="dashed", color="magenta", weight=3]; 5634 -> 5684[label="",style="dashed", color="magenta", weight=3]; 5635 -> 2348[label="",style="dashed", color="red", weight=0]; 5635[label="abs (Neg Zero)",fontsize=16,color="magenta"];5635 -> 5685[label="",style="dashed", color="magenta", weight=3]; 739[label="Integer (Pos (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8461[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];739 -> 8461[label="",style="solid", color="burlywood", weight=9]; 8461 -> 812[label="",style="solid", color="burlywood", weight=3]; 8462[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];739 -> 8462[label="",style="solid", color="burlywood", weight=9]; 8462 -> 813[label="",style="solid", color="burlywood", weight=3]; 740[label="Integer (Neg (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8463[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];740 -> 8463[label="",style="solid", color="burlywood", weight=9]; 8463 -> 814[label="",style="solid", color="burlywood", weight=3]; 8464[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];740 -> 8464[label="",style="solid", color="burlywood", weight=9]; 8464 -> 815[label="",style="solid", color="burlywood", weight=3]; 741[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];741 -> 816[label="",style="solid", color="black", weight=3]; 742[label="Integer (Pos Zero) `quot` gcd1 (absReal2 (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal2 (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];742 -> 817[label="",style="solid", color="black", weight=3]; 743[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];743 -> 818[label="",style="solid", color="black", weight=3]; 744[label="Integer (Neg Zero) `quot` gcd1 (absReal2 (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal2 (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];744 -> 819[label="",style="solid", color="black", weight=3]; 745[label="Integer (primMulInt (Pos vuz80) (Neg (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];745 -> 820[label="",style="solid", color="black", weight=3]; 746[label="Integer (primMulInt (Neg vuz80) (Neg (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];746 -> 821[label="",style="solid", color="black", weight=3]; 747[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];747 -> 822[label="",style="solid", color="black", weight=3]; 748[label="Integer (Pos Zero) `quot` gcd1 (absReal2 (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal2 (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];748 -> 823[label="",style="solid", color="black", weight=3]; 749[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];749 -> 824[label="",style="solid", color="black", weight=3]; 750[label="Integer (Neg Zero) `quot` gcd1 (absReal2 (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal2 (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];750 -> 825[label="",style="solid", color="black", weight=3]; 6108[label="vuz3230",fontsize=16,color="green",shape="box"];6109[label="signumReal (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];6109 -> 6133[label="",style="solid", color="black", weight=3]; 6142 -> 6109[label="",style="dashed", color="red", weight=0]; 6142[label="signumReal (Pos (Succ vuz900))",fontsize=16,color="magenta"];6143[label="vuz3230",fontsize=16,color="green",shape="box"];5891 -> 2348[label="",style="dashed", color="red", weight=0]; 5891[label="abs vuz348",fontsize=16,color="magenta"];5891 -> 5948[label="",style="dashed", color="magenta", weight=3]; 5892 -> 2348[label="",style="dashed", color="red", weight=0]; 5892[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];5892 -> 5949[label="",style="dashed", color="magenta", weight=3]; 5893 -> 5831[label="",style="dashed", color="red", weight=0]; 5893[label="gcd0 vuz349 (Pos (Succ vuz900))",fontsize=16,color="magenta"];5893 -> 5950[label="",style="dashed", color="magenta", weight=3]; 5894 -> 3082[label="",style="dashed", color="red", weight=0]; 5894[label="error []",fontsize=16,color="magenta"];6130[label="signumReal3 (Pos Zero)",fontsize=16,color="black",shape="box"];6130 -> 6136[label="",style="solid", color="black", weight=3]; 6131[label="primMulInt (Pos vuz3220) (Pos vuz3740)",fontsize=16,color="black",shape="box"];6131 -> 6137[label="",style="solid", color="black", weight=3]; 6132[label="primMulInt (Pos vuz3220) (Neg vuz3740)",fontsize=16,color="black",shape="box"];6132 -> 6138[label="",style="solid", color="black", weight=3]; 6164[label="primMulInt (Neg vuz3220) (Pos vuz3760)",fontsize=16,color="black",shape="box"];6164 -> 6168[label="",style="solid", color="black", weight=3]; 6165[label="primMulInt (Neg vuz3220) (Neg vuz3760)",fontsize=16,color="black",shape="box"];6165 -> 6169[label="",style="solid", color="black", weight=3]; 5897[label="vuz344",fontsize=16,color="green",shape="box"];5898[label="Pos Zero",fontsize=16,color="green",shape="box"];4188[label="gcd0Gcd'2 vuz259 vuz258",fontsize=16,color="black",shape="triangle"];4188 -> 4233[label="",style="solid", color="black", weight=3]; 5899[label="vuz345",fontsize=16,color="green",shape="box"];7514[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS (Succ vuz4540) vuz455)",fontsize=16,color="burlywood",shape="box"];8465[label="vuz455/Succ vuz4550",fontsize=10,color="white",style="solid",shape="box"];7514 -> 8465[label="",style="solid", color="burlywood", weight=9]; 8465 -> 7539[label="",style="solid", color="burlywood", weight=3]; 8466[label="vuz455/Zero",fontsize=10,color="white",style="solid",shape="box"];7514 -> 8466[label="",style="solid", color="burlywood", weight=9]; 8466 -> 7540[label="",style="solid", color="burlywood", weight=3]; 7515[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS Zero vuz455)",fontsize=16,color="burlywood",shape="box"];8467[label="vuz455/Succ vuz4550",fontsize=10,color="white",style="solid",shape="box"];7515 -> 8467[label="",style="solid", color="burlywood", weight=9]; 8467 -> 7541[label="",style="solid", color="burlywood", weight=3]; 8468[label="vuz455/Zero",fontsize=10,color="white",style="solid",shape="box"];7515 -> 8468[label="",style="solid", color="burlywood", weight=9]; 8468 -> 7542[label="",style="solid", color="burlywood", weight=3]; 5904 -> 5661[label="",style="dashed", color="red", weight=0]; 5904[label="primDivNatS (primMinusNatS (Succ vuz30100) Zero) (Succ Zero)",fontsize=16,color="magenta"];5904 -> 5959[label="",style="dashed", color="magenta", weight=3]; 5904 -> 5960[label="",style="dashed", color="magenta", weight=3]; 5905 -> 5661[label="",style="dashed", color="red", weight=0]; 5905[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];5905 -> 5961[label="",style="dashed", color="magenta", weight=3]; 5905 -> 5962[label="",style="dashed", color="magenta", weight=3]; 5906[label="primMulInt vuz326 (signum (Neg (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8469[label="vuz326/Pos vuz3260",fontsize=10,color="white",style="solid",shape="box"];5906 -> 8469[label="",style="solid", color="burlywood", weight=9]; 8469 -> 5963[label="",style="solid", color="burlywood", weight=3]; 8470[label="vuz326/Neg vuz3260",fontsize=10,color="white",style="solid",shape="box"];5906 -> 8470[label="",style="solid", color="burlywood", weight=9]; 8470 -> 5964[label="",style="solid", color="burlywood", weight=3]; 5907 -> 5831[label="",style="dashed", color="red", weight=0]; 5907[label="gcd0 (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5907 -> 5965[label="",style="dashed", color="magenta", weight=3]; 5907 -> 5966[label="",style="dashed", color="magenta", weight=3]; 5908 -> 5833[label="",style="dashed", color="red", weight=0]; 5908[label="gcd1 (Pos (Succ vuz900) == fromInt (Pos Zero)) (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5908 -> 5967[label="",style="dashed", color="magenta", weight=3]; 5908 -> 5968[label="",style="dashed", color="magenta", weight=3]; 5908 -> 5969[label="",style="dashed", color="magenta", weight=3]; 7079[label="signumReal3 (Neg Zero)",fontsize=16,color="black",shape="box"];7079 -> 7138[label="",style="solid", color="black", weight=3]; 7080[label="vuz421",fontsize=16,color="green",shape="box"];7081[label="Neg Zero",fontsize=16,color="green",shape="box"];7082[label="vuz422",fontsize=16,color="green",shape="box"];785[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];785 -> 851[label="",style="solid", color="black", weight=3]; 786[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];786 -> 852[label="",style="solid", color="black", weight=3]; 787[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (primCmpInt (Pos Zero) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (primCmpInt (Pos Zero) (Pos Zero) == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];787 -> 853[label="",style="solid", color="black", weight=3]; 788[label="Integer (Pos Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];788 -> 854[label="",style="solid", color="black", weight=3]; 789[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];789 -> 855[label="",style="solid", color="black", weight=3]; 790[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (primCmpInt (Neg Zero) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (primCmpInt (Neg Zero) (Pos Zero) == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];790 -> 856[label="",style="solid", color="black", weight=3]; 791[label="Integer (Neg Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];791 -> 857[label="",style="solid", color="black", weight=3]; 4758[label="primPlusNat (Succ vuz28500) (Succ vuz275000)",fontsize=16,color="black",shape="box"];4758 -> 4782[label="",style="solid", color="black", weight=3]; 4759[label="primPlusNat (Succ vuz28500) Zero",fontsize=16,color="black",shape="box"];4759 -> 4783[label="",style="solid", color="black", weight=3]; 4760[label="primPlusNat Zero (Succ vuz275000)",fontsize=16,color="black",shape="box"];4760 -> 4784[label="",style="solid", color="black", weight=3]; 4761[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];4761 -> 4785[label="",style="solid", color="black", weight=3]; 5909[label="Pos vuz325",fontsize=16,color="green",shape="box"];5910[label="vuz324",fontsize=16,color="green",shape="box"];5911 -> 5827[label="",style="dashed", color="red", weight=0]; 5911[label="gcd0 (Pos vuz325) vuz324",fontsize=16,color="magenta"];5912 -> 3082[label="",style="dashed", color="red", weight=0]; 5912[label="error []",fontsize=16,color="magenta"];6913[label="Succ Zero",fontsize=16,color="green",shape="box"];6914[label="vuz80",fontsize=16,color="green",shape="box"];6915[label="Pos Zero",fontsize=16,color="green",shape="box"];6916[label="Succ Zero",fontsize=16,color="green",shape="box"];6917[label="vuz80",fontsize=16,color="green",shape="box"];6918[label="Neg Zero",fontsize=16,color="green",shape="box"];7083[label="Neg vuz412",fontsize=16,color="green",shape="box"];7084[label="vuz411",fontsize=16,color="green",shape="box"];7085 -> 7012[label="",style="dashed", color="red", weight=0]; 7085[label="gcd0 (Neg vuz412) vuz411",fontsize=16,color="magenta"];7086 -> 3082[label="",style="dashed", color="red", weight=0]; 7086[label="error []",fontsize=16,color="magenta"];5680[label="Succ Zero",fontsize=16,color="green",shape="box"];5681[label="vuz80",fontsize=16,color="green",shape="box"];5682[label="Pos Zero",fontsize=16,color="green",shape="box"];5683[label="Succ Zero",fontsize=16,color="green",shape="box"];5684[label="vuz80",fontsize=16,color="green",shape="box"];5685[label="Neg Zero",fontsize=16,color="green",shape="box"];812[label="Integer (Pos (primMulNat (Succ vuz800) (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];812 -> 882[label="",style="solid", color="black", weight=3]; 813[label="Integer (Pos (primMulNat Zero (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat Zero (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat Zero (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];813 -> 883[label="",style="solid", color="black", weight=3]; 814[label="Integer (Neg (primMulNat (Succ vuz800) (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];814 -> 884[label="",style="solid", color="black", weight=3]; 815[label="Integer (Neg (primMulNat Zero (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat Zero (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat Zero (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];815 -> 885[label="",style="solid", color="black", weight=3]; 816[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];816 -> 886[label="",style="solid", color="black", weight=3]; 817[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];817 -> 887[label="",style="solid", color="black", weight=3]; 818[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];818 -> 888[label="",style="solid", color="black", weight=3]; 819[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];819 -> 889[label="",style="solid", color="black", weight=3]; 820 -> 3594[label="",style="dashed", color="red", weight=0]; 820[label="Integer (Neg (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="magenta"];820 -> 3595[label="",style="dashed", color="magenta", weight=3]; 820 -> 3596[label="",style="dashed", color="magenta", weight=3]; 820 -> 3597[label="",style="dashed", color="magenta", weight=3]; 821 -> 3690[label="",style="dashed", color="red", weight=0]; 821[label="Integer (Pos (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="magenta"];821 -> 3691[label="",style="dashed", color="magenta", weight=3]; 821 -> 3692[label="",style="dashed", color="magenta", weight=3]; 821 -> 3693[label="",style="dashed", color="magenta", weight=3]; 822[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];822 -> 894[label="",style="solid", color="black", weight=3]; 823[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];823 -> 895[label="",style="solid", color="black", weight=3]; 824[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];824 -> 896[label="",style="solid", color="black", weight=3]; 825[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];825 -> 897[label="",style="solid", color="black", weight=3]; 6133[label="signumReal3 (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];6133 -> 6139[label="",style="solid", color="black", weight=3]; 5948[label="vuz348",fontsize=16,color="green",shape="box"];5949[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];5950[label="vuz349",fontsize=16,color="green",shape="box"];6136 -> 6166[label="",style="dashed", color="red", weight=0]; 6136[label="signumReal2 (Pos Zero) (Pos Zero == fromInt (Pos Zero))",fontsize=16,color="magenta"];6136 -> 6167[label="",style="dashed", color="magenta", weight=3]; 6137[label="Pos (primMulNat vuz3220 vuz3740)",fontsize=16,color="green",shape="box"];6137 -> 6170[label="",style="dashed", color="green", weight=3]; 6138[label="Neg (primMulNat vuz3220 vuz3740)",fontsize=16,color="green",shape="box"];6138 -> 6171[label="",style="dashed", color="green", weight=3]; 6168[label="Neg (primMulNat vuz3220 vuz3760)",fontsize=16,color="green",shape="box"];6168 -> 6174[label="",style="dashed", color="green", weight=3]; 6169[label="Pos (primMulNat vuz3220 vuz3760)",fontsize=16,color="green",shape="box"];6169 -> 6175[label="",style="dashed", color="green", weight=3]; 4233 -> 4338[label="",style="dashed", color="red", weight=0]; 4233[label="gcd0Gcd'1 (vuz258 == fromInt (Pos Zero)) vuz259 vuz258",fontsize=16,color="magenta"];4233 -> 4339[label="",style="dashed", color="magenta", weight=3]; 7539[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS (Succ vuz4540) (Succ vuz4550))",fontsize=16,color="black",shape="box"];7539 -> 7568[label="",style="solid", color="black", weight=3]; 7540[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS (Succ vuz4540) Zero)",fontsize=16,color="black",shape="box"];7540 -> 7569[label="",style="solid", color="black", weight=3]; 7541[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS Zero (Succ vuz4550))",fontsize=16,color="black",shape="box"];7541 -> 7570[label="",style="solid", color="black", weight=3]; 7542[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];7542 -> 7571[label="",style="solid", color="black", weight=3]; 5959[label="Zero",fontsize=16,color="green",shape="box"];5960[label="primMinusNatS (Succ vuz30100) Zero",fontsize=16,color="black",shape="triangle"];5960 -> 5985[label="",style="solid", color="black", weight=3]; 5961[label="Zero",fontsize=16,color="green",shape="box"];5962[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];5962 -> 5986[label="",style="solid", color="black", weight=3]; 5963[label="primMulInt (Pos vuz3260) (signum (Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];5963 -> 5987[label="",style="solid", color="black", weight=3]; 5964[label="primMulInt (Neg vuz3260) (signum (Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];5964 -> 5988[label="",style="solid", color="black", weight=3]; 5965[label="vuz900",fontsize=16,color="green",shape="box"];5966 -> 5868[label="",style="dashed", color="red", weight=0]; 5966[label="vuz326 * signum (Neg (Succ vuz900))",fontsize=16,color="magenta"];5967 -> 5868[label="",style="dashed", color="red", weight=0]; 5967[label="vuz326 * signum (Neg (Succ vuz900))",fontsize=16,color="magenta"];5968[label="vuz900",fontsize=16,color="green",shape="box"];5969 -> 2582[label="",style="dashed", color="red", weight=0]; 5969[label="Pos (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5969 -> 5989[label="",style="dashed", color="magenta", weight=3]; 7138 -> 7172[label="",style="dashed", color="red", weight=0]; 7138[label="signumReal2 (Neg Zero) (Neg Zero == fromInt (Pos Zero))",fontsize=16,color="magenta"];7138 -> 7173[label="",style="dashed", color="magenta", weight=3]; 851[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];851 -> 913[label="",style="solid", color="black", weight=3]; 852[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];852 -> 914[label="",style="solid", color="black", weight=3]; 853[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (EQ == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (EQ == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];853 -> 915[label="",style="solid", color="black", weight=3]; 854[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8471[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];854 -> 8471[label="",style="solid", color="burlywood", weight=9]; 8471 -> 916[label="",style="solid", color="burlywood", weight=3]; 8472[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];854 -> 8472[label="",style="solid", color="burlywood", weight=9]; 8472 -> 917[label="",style="solid", color="burlywood", weight=3]; 855[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];855 -> 918[label="",style="solid", color="black", weight=3]; 856[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (EQ == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (EQ == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];856 -> 919[label="",style="solid", color="black", weight=3]; 857[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8473[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];857 -> 8473[label="",style="solid", color="burlywood", weight=9]; 8473 -> 920[label="",style="solid", color="burlywood", weight=3]; 8474[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];857 -> 8474[label="",style="solid", color="burlywood", weight=9]; 8474 -> 921[label="",style="solid", color="burlywood", weight=3]; 4782[label="Succ (Succ (primPlusNat vuz28500 vuz275000))",fontsize=16,color="green",shape="box"];4782 -> 4856[label="",style="dashed", color="green", weight=3]; 4783[label="Succ vuz28500",fontsize=16,color="green",shape="box"];4784[label="Succ vuz275000",fontsize=16,color="green",shape="box"];4785[label="Zero",fontsize=16,color="green",shape="box"];882 -> 3366[label="",style="dashed", color="red", weight=0]; 882[label="Integer (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)) (Integer (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];882 -> 3367[label="",style="dashed", color="magenta", weight=3]; 882 -> 3368[label="",style="dashed", color="magenta", weight=3]; 882 -> 3369[label="",style="dashed", color="magenta", weight=3]; 883 -> 952[label="",style="dashed", color="red", weight=0]; 883[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];883 -> 953[label="",style="dashed", color="magenta", weight=3]; 884 -> 3461[label="",style="dashed", color="red", weight=0]; 884[label="Integer (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)) (Integer (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];884 -> 3462[label="",style="dashed", color="magenta", weight=3]; 884 -> 3463[label="",style="dashed", color="magenta", weight=3]; 884 -> 3464[label="",style="dashed", color="magenta", weight=3]; 885 -> 956[label="",style="dashed", color="red", weight=0]; 885[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];885 -> 957[label="",style="dashed", color="magenta", weight=3]; 886[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];886 -> 958[label="",style="solid", color="black", weight=3]; 887[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];887 -> 959[label="",style="solid", color="black", weight=3]; 888[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];888 -> 960[label="",style="solid", color="black", weight=3]; 889[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];889 -> 961[label="",style="solid", color="black", weight=3]; 3595 -> 2647[label="",style="dashed", color="red", weight=0]; 3595[label="primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3595 -> 3676[label="",style="dashed", color="magenta", weight=3]; 3595 -> 3677[label="",style="dashed", color="magenta", weight=3]; 3596 -> 3367[label="",style="dashed", color="red", weight=0]; 3596[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3596 -> 3678[label="",style="dashed", color="magenta", weight=3]; 3597 -> 3367[label="",style="dashed", color="red", weight=0]; 3597[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3597 -> 3679[label="",style="dashed", color="magenta", weight=3]; 3594[label="Integer (Neg vuz216) `quot` gcd2 vuz215 (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8475[label="vuz215/False",fontsize=10,color="white",style="solid",shape="box"];3594 -> 8475[label="",style="solid", color="burlywood", weight=9]; 8475 -> 3680[label="",style="solid", color="burlywood", weight=3]; 8476[label="vuz215/True",fontsize=10,color="white",style="solid",shape="box"];3594 -> 8476[label="",style="solid", color="burlywood", weight=9]; 8476 -> 3681[label="",style="solid", color="burlywood", weight=3]; 3691 -> 3367[label="",style="dashed", color="red", weight=0]; 3691[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3691 -> 3771[label="",style="dashed", color="magenta", weight=3]; 3692 -> 3367[label="",style="dashed", color="red", weight=0]; 3692[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3692 -> 3772[label="",style="dashed", color="magenta", weight=3]; 3693 -> 2647[label="",style="dashed", color="red", weight=0]; 3693[label="primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3693 -> 3773[label="",style="dashed", color="magenta", weight=3]; 3693 -> 3774[label="",style="dashed", color="magenta", weight=3]; 3690[label="Integer (Pos vuz226) `quot` gcd2 vuz225 (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8477[label="vuz225/False",fontsize=10,color="white",style="solid",shape="box"];3690 -> 8477[label="",style="solid", color="burlywood", weight=9]; 8477 -> 3775[label="",style="solid", color="burlywood", weight=3]; 8478[label="vuz225/True",fontsize=10,color="white",style="solid",shape="box"];3690 -> 8478[label="",style="solid", color="burlywood", weight=9]; 8478 -> 3776[label="",style="solid", color="burlywood", weight=3]; 894[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];894 -> 966[label="",style="solid", color="black", weight=3]; 895[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];895 -> 967[label="",style="solid", color="black", weight=3]; 896[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];896 -> 968[label="",style="solid", color="black", weight=3]; 897[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];897 -> 969[label="",style="solid", color="black", weight=3]; 6139 -> 6172[label="",style="dashed", color="red", weight=0]; 6139[label="signumReal2 (Pos (Succ vuz900)) (Pos (Succ vuz900) == fromInt (Pos Zero))",fontsize=16,color="magenta"];6139 -> 6173[label="",style="dashed", color="magenta", weight=3]; 6167 -> 2582[label="",style="dashed", color="red", weight=0]; 6167[label="Pos Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];6167 -> 6176[label="",style="dashed", color="magenta", weight=3]; 6166[label="signumReal2 (Pos Zero) vuz377",fontsize=16,color="burlywood",shape="triangle"];8479[label="vuz377/False",fontsize=10,color="white",style="solid",shape="box"];6166 -> 8479[label="",style="solid", color="burlywood", weight=9]; 8479 -> 6177[label="",style="solid", color="burlywood", weight=3]; 8480[label="vuz377/True",fontsize=10,color="white",style="solid",shape="box"];6166 -> 8480[label="",style="solid", color="burlywood", weight=9]; 8480 -> 6178[label="",style="solid", color="burlywood", weight=3]; 6170 -> 4436[label="",style="dashed", color="red", weight=0]; 6170[label="primMulNat vuz3220 vuz3740",fontsize=16,color="magenta"];6170 -> 6179[label="",style="dashed", color="magenta", weight=3]; 6170 -> 6180[label="",style="dashed", color="magenta", weight=3]; 6171 -> 4436[label="",style="dashed", color="red", weight=0]; 6171[label="primMulNat vuz3220 vuz3740",fontsize=16,color="magenta"];6171 -> 6181[label="",style="dashed", color="magenta", weight=3]; 6171 -> 6182[label="",style="dashed", color="magenta", weight=3]; 6174 -> 4436[label="",style="dashed", color="red", weight=0]; 6174[label="primMulNat vuz3220 vuz3760",fontsize=16,color="magenta"];6174 -> 6256[label="",style="dashed", color="magenta", weight=3]; 6174 -> 6257[label="",style="dashed", color="magenta", weight=3]; 6175 -> 4436[label="",style="dashed", color="red", weight=0]; 6175[label="primMulNat vuz3220 vuz3760",fontsize=16,color="magenta"];6175 -> 6258[label="",style="dashed", color="magenta", weight=3]; 6175 -> 6259[label="",style="dashed", color="magenta", weight=3]; 4339 -> 2582[label="",style="dashed", color="red", weight=0]; 4339[label="vuz258 == fromInt (Pos Zero)",fontsize=16,color="magenta"];4339 -> 4360[label="",style="dashed", color="magenta", weight=3]; 4338[label="gcd0Gcd'1 vuz270 vuz259 vuz258",fontsize=16,color="burlywood",shape="triangle"];8481[label="vuz270/False",fontsize=10,color="white",style="solid",shape="box"];4338 -> 8481[label="",style="solid", color="burlywood", weight=9]; 8481 -> 4361[label="",style="solid", color="burlywood", weight=3]; 8482[label="vuz270/True",fontsize=10,color="white",style="solid",shape="box"];4338 -> 8482[label="",style="solid", color="burlywood", weight=9]; 8482 -> 4362[label="",style="solid", color="burlywood", weight=3]; 7568 -> 7477[label="",style="dashed", color="red", weight=0]; 7568[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS vuz4540 vuz4550)",fontsize=16,color="magenta"];7568 -> 7608[label="",style="dashed", color="magenta", weight=3]; 7568 -> 7609[label="",style="dashed", color="magenta", weight=3]; 7569[label="primDivNatS0 (Succ vuz452) (Succ vuz453) True",fontsize=16,color="black",shape="triangle"];7569 -> 7610[label="",style="solid", color="black", weight=3]; 7570[label="primDivNatS0 (Succ vuz452) (Succ vuz453) False",fontsize=16,color="black",shape="box"];7570 -> 7611[label="",style="solid", color="black", weight=3]; 7571 -> 7569[label="",style="dashed", color="red", weight=0]; 7571[label="primDivNatS0 (Succ vuz452) (Succ vuz453) True",fontsize=16,color="magenta"];5985[label="Succ vuz30100",fontsize=16,color="green",shape="box"];5986[label="Zero",fontsize=16,color="green",shape="box"];5987 -> 6106[label="",style="dashed", color="red", weight=0]; 5987[label="primMulInt (Pos vuz3260) (signumReal (Neg (Succ vuz900)))",fontsize=16,color="magenta"];5987 -> 6119[label="",style="dashed", color="magenta", weight=3]; 5987 -> 6120[label="",style="dashed", color="magenta", weight=3]; 5988 -> 6140[label="",style="dashed", color="red", weight=0]; 5988[label="primMulInt (Neg vuz3260) (signumReal (Neg (Succ vuz900)))",fontsize=16,color="magenta"];5988 -> 6153[label="",style="dashed", color="magenta", weight=3]; 5988 -> 6154[label="",style="dashed", color="magenta", weight=3]; 5989[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];7173 -> 2582[label="",style="dashed", color="red", weight=0]; 7173[label="Neg Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];7173 -> 7174[label="",style="dashed", color="magenta", weight=3]; 7172[label="signumReal2 (Neg Zero) vuz429",fontsize=16,color="burlywood",shape="triangle"];8483[label="vuz429/False",fontsize=10,color="white",style="solid",shape="box"];7172 -> 8483[label="",style="solid", color="burlywood", weight=9]; 8483 -> 7175[label="",style="solid", color="burlywood", weight=3]; 8484[label="vuz429/True",fontsize=10,color="white",style="solid",shape="box"];7172 -> 8484[label="",style="solid", color="burlywood", weight=9]; 8484 -> 7176[label="",style="solid", color="burlywood", weight=3]; 913[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];913 -> 984[label="",style="solid", color="black", weight=3]; 914[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8485[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];914 -> 8485[label="",style="solid", color="burlywood", weight=9]; 8485 -> 985[label="",style="solid", color="burlywood", weight=3]; 8486[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];914 -> 8486[label="",style="solid", color="burlywood", weight=9]; 8486 -> 986[label="",style="solid", color="burlywood", weight=3]; 915[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) False) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];915 -> 987[label="",style="solid", color="black", weight=3]; 916[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];916 -> 988[label="",style="solid", color="black", weight=3]; 917[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];917 -> 989[label="",style="solid", color="black", weight=3]; 918[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];918 -> 990[label="",style="solid", color="black", weight=3]; 919[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) False) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];919 -> 991[label="",style="solid", color="black", weight=3]; 920[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];920 -> 992[label="",style="solid", color="black", weight=3]; 921[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];921 -> 993[label="",style="solid", color="black", weight=3]; 4856 -> 4682[label="",style="dashed", color="red", weight=0]; 4856[label="primPlusNat vuz28500 vuz275000",fontsize=16,color="magenta"];4856 -> 5397[label="",style="dashed", color="magenta", weight=3]; 4856 -> 5398[label="",style="dashed", color="magenta", weight=3]; 3367[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="burlywood",shape="triangle"];8487[label="vuz800/Succ vuz8000",fontsize=10,color="white",style="solid",shape="box"];3367 -> 8487[label="",style="solid", color="burlywood", weight=9]; 8487 -> 3385[label="",style="solid", color="burlywood", weight=3]; 8488[label="vuz800/Zero",fontsize=10,color="white",style="solid",shape="box"];3367 -> 8488[label="",style="solid", color="burlywood", weight=9]; 8488 -> 3386[label="",style="solid", color="burlywood", weight=3]; 3368 -> 2647[label="",style="dashed", color="red", weight=0]; 3368[label="primEqInt (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3368 -> 3387[label="",style="dashed", color="magenta", weight=3]; 3368 -> 3388[label="",style="dashed", color="magenta", weight=3]; 3369[label="vuz900",fontsize=16,color="green",shape="box"];3366[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd2 vuz197 (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="burlywood",shape="triangle"];8489[label="vuz197/False",fontsize=10,color="white",style="solid",shape="box"];3366 -> 8489[label="",style="solid", color="burlywood", weight=9]; 8489 -> 3389[label="",style="solid", color="burlywood", weight=3]; 8490[label="vuz197/True",fontsize=10,color="white",style="solid",shape="box"];3366 -> 8490[label="",style="solid", color="burlywood", weight=9]; 8490 -> 3390[label="",style="solid", color="burlywood", weight=3]; 953 -> 2647[label="",style="dashed", color="red", weight=0]; 953[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];953 -> 2733[label="",style="dashed", color="magenta", weight=3]; 953 -> 2734[label="",style="dashed", color="magenta", weight=3]; 952[label="Integer (Pos Zero) `quot` gcd2 vuz51 (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8491[label="vuz51/False",fontsize=10,color="white",style="solid",shape="box"];952 -> 8491[label="",style="solid", color="burlywood", weight=9]; 8491 -> 1030[label="",style="solid", color="burlywood", weight=3]; 8492[label="vuz51/True",fontsize=10,color="white",style="solid",shape="box"];952 -> 8492[label="",style="solid", color="burlywood", weight=9]; 8492 -> 1031[label="",style="solid", color="burlywood", weight=3]; 3462 -> 3367[label="",style="dashed", color="red", weight=0]; 3462[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="magenta"];3462 -> 3478[label="",style="dashed", color="magenta", weight=3]; 3463 -> 2647[label="",style="dashed", color="red", weight=0]; 3463[label="primEqInt (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3463 -> 3479[label="",style="dashed", color="magenta", weight=3]; 3463 -> 3480[label="",style="dashed", color="magenta", weight=3]; 3464[label="vuz900",fontsize=16,color="green",shape="box"];3461[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd2 vuz205 (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="burlywood",shape="triangle"];8493[label="vuz205/False",fontsize=10,color="white",style="solid",shape="box"];3461 -> 8493[label="",style="solid", color="burlywood", weight=9]; 8493 -> 3481[label="",style="solid", color="burlywood", weight=3]; 8494[label="vuz205/True",fontsize=10,color="white",style="solid",shape="box"];3461 -> 8494[label="",style="solid", color="burlywood", weight=9]; 8494 -> 3482[label="",style="solid", color="burlywood", weight=3]; 957 -> 2647[label="",style="dashed", color="red", weight=0]; 957[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];957 -> 2735[label="",style="dashed", color="magenta", weight=3]; 957 -> 2736[label="",style="dashed", color="magenta", weight=3]; 956[label="Integer (Neg Zero) `quot` gcd2 vuz52 (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8495[label="vuz52/False",fontsize=10,color="white",style="solid",shape="box"];956 -> 8495[label="",style="solid", color="burlywood", weight=9]; 8495 -> 1034[label="",style="solid", color="burlywood", weight=3]; 8496[label="vuz52/True",fontsize=10,color="white",style="solid",shape="box"];956 -> 8496[label="",style="solid", color="burlywood", weight=9]; 8496 -> 1035[label="",style="solid", color="burlywood", weight=3]; 958[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];958 -> 1036[label="",style="solid", color="black", weight=3]; 959 -> 1037[label="",style="dashed", color="red", weight=0]; 959[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];959 -> 1038[label="",style="dashed", color="magenta", weight=3]; 960[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];960 -> 1039[label="",style="solid", color="black", weight=3]; 961 -> 1040[label="",style="dashed", color="red", weight=0]; 961[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];961 -> 1041[label="",style="dashed", color="magenta", weight=3]; 3676[label="Pos Zero",fontsize=16,color="green",shape="box"];3677[label="Neg (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];3677 -> 3777[label="",style="dashed", color="green", weight=3]; 3678[label="vuz80",fontsize=16,color="green",shape="box"];3679[label="vuz80",fontsize=16,color="green",shape="box"];3680[label="Integer (Neg vuz216) `quot` gcd2 False (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3680 -> 3778[label="",style="solid", color="black", weight=3]; 3681[label="Integer (Neg vuz216) `quot` gcd2 True (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3681 -> 3779[label="",style="solid", color="black", weight=3]; 3771[label="vuz80",fontsize=16,color="green",shape="box"];3772[label="vuz80",fontsize=16,color="green",shape="box"];3773[label="Pos Zero",fontsize=16,color="green",shape="box"];3774[label="Pos (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];3774 -> 4061[label="",style="dashed", color="green", weight=3]; 3775[label="Integer (Pos vuz226) `quot` gcd2 False (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3775 -> 4062[label="",style="solid", color="black", weight=3]; 3776[label="Integer (Pos vuz226) `quot` gcd2 True (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3776 -> 4063[label="",style="solid", color="black", weight=3]; 966[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];966 -> 1050[label="",style="solid", color="black", weight=3]; 967 -> 1051[label="",style="dashed", color="red", weight=0]; 967[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];967 -> 1052[label="",style="dashed", color="magenta", weight=3]; 968[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];968 -> 1053[label="",style="solid", color="black", weight=3]; 969 -> 1054[label="",style="dashed", color="red", weight=0]; 969[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];969 -> 1055[label="",style="dashed", color="magenta", weight=3]; 6173 -> 2582[label="",style="dashed", color="red", weight=0]; 6173[label="Pos (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6173 -> 6183[label="",style="dashed", color="magenta", weight=3]; 6172[label="signumReal2 (Pos (Succ vuz900)) vuz379",fontsize=16,color="burlywood",shape="triangle"];8497[label="vuz379/False",fontsize=10,color="white",style="solid",shape="box"];6172 -> 8497[label="",style="solid", color="burlywood", weight=9]; 8497 -> 6184[label="",style="solid", color="burlywood", weight=3]; 8498[label="vuz379/True",fontsize=10,color="white",style="solid",shape="box"];6172 -> 8498[label="",style="solid", color="burlywood", weight=9]; 8498 -> 6185[label="",style="solid", color="burlywood", weight=3]; 6176[label="Pos Zero",fontsize=16,color="green",shape="box"];6177[label="signumReal2 (Pos Zero) False",fontsize=16,color="black",shape="box"];6177 -> 6260[label="",style="solid", color="black", weight=3]; 6178[label="signumReal2 (Pos Zero) True",fontsize=16,color="black",shape="box"];6178 -> 6261[label="",style="solid", color="black", weight=3]; 6179[label="vuz3740",fontsize=16,color="green",shape="box"];6180[label="vuz3220",fontsize=16,color="green",shape="box"];6181[label="vuz3740",fontsize=16,color="green",shape="box"];6182[label="vuz3220",fontsize=16,color="green",shape="box"];6256[label="vuz3760",fontsize=16,color="green",shape="box"];6257[label="vuz3220",fontsize=16,color="green",shape="box"];6258[label="vuz3760",fontsize=16,color="green",shape="box"];6259[label="vuz3220",fontsize=16,color="green",shape="box"];4360[label="vuz258",fontsize=16,color="green",shape="box"];4361[label="gcd0Gcd'1 False vuz259 vuz258",fontsize=16,color="black",shape="box"];4361 -> 4441[label="",style="solid", color="black", weight=3]; 4362[label="gcd0Gcd'1 True vuz259 vuz258",fontsize=16,color="black",shape="box"];4362 -> 4442[label="",style="solid", color="black", weight=3]; 7608[label="vuz4550",fontsize=16,color="green",shape="box"];7609[label="vuz4540",fontsize=16,color="green",shape="box"];7610[label="Succ (primDivNatS (primMinusNatS (Succ vuz452) (Succ vuz453)) (Succ (Succ vuz453)))",fontsize=16,color="green",shape="box"];7610 -> 7640[label="",style="dashed", color="green", weight=3]; 7611[label="Zero",fontsize=16,color="green",shape="box"];6119[label="vuz3260",fontsize=16,color="green",shape="box"];6120[label="signumReal (Neg (Succ vuz900))",fontsize=16,color="black",shape="triangle"];6120 -> 6194[label="",style="solid", color="black", weight=3]; 6153 -> 6120[label="",style="dashed", color="red", weight=0]; 6153[label="signumReal (Neg (Succ vuz900))",fontsize=16,color="magenta"];6154[label="vuz3260",fontsize=16,color="green",shape="box"];7174[label="Neg Zero",fontsize=16,color="green",shape="box"];7175[label="signumReal2 (Neg Zero) False",fontsize=16,color="black",shape="box"];7175 -> 7207[label="",style="solid", color="black", weight=3]; 7176[label="signumReal2 (Neg Zero) True",fontsize=16,color="black",shape="box"];7176 -> 7208[label="",style="solid", color="black", weight=3]; 984[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];984 -> 1074[label="",style="solid", color="black", weight=3]; 985[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];985 -> 1075[label="",style="solid", color="black", weight=3]; 986[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];986 -> 1076[label="",style="solid", color="black", weight=3]; 987[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Pos Zero)) otherwise == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Pos Zero)) otherwise) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];987 -> 1077[label="",style="solid", color="black", weight=3]; 988[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8499[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];988 -> 8499[label="",style="solid", color="burlywood", weight=9]; 8499 -> 1078[label="",style="solid", color="burlywood", weight=3]; 8500[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];988 -> 8500[label="",style="solid", color="burlywood", weight=9]; 8500 -> 1079[label="",style="solid", color="burlywood", weight=3]; 989[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8501[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];989 -> 8501[label="",style="solid", color="burlywood", weight=9]; 8501 -> 1080[label="",style="solid", color="burlywood", weight=3]; 8502[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];989 -> 8502[label="",style="solid", color="burlywood", weight=9]; 8502 -> 1081[label="",style="solid", color="burlywood", weight=3]; 990[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];990 -> 1082[label="",style="solid", color="black", weight=3]; 991[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg Zero)) otherwise == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg Zero)) otherwise) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];991 -> 1083[label="",style="solid", color="black", weight=3]; 992[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8503[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];992 -> 8503[label="",style="solid", color="burlywood", weight=9]; 8503 -> 1084[label="",style="solid", color="burlywood", weight=3]; 8504[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];992 -> 8504[label="",style="solid", color="burlywood", weight=9]; 8504 -> 1085[label="",style="solid", color="burlywood", weight=3]; 993[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8505[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];993 -> 8505[label="",style="solid", color="burlywood", weight=9]; 8505 -> 1086[label="",style="solid", color="burlywood", weight=3]; 8506[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];993 -> 8506[label="",style="solid", color="burlywood", weight=9]; 8506 -> 1087[label="",style="solid", color="burlywood", weight=3]; 5397[label="vuz28500",fontsize=16,color="green",shape="box"];5398[label="vuz275000",fontsize=16,color="green",shape="box"];3385[label="primMulNat (Succ vuz8000) (Succ Zero)",fontsize=16,color="black",shape="box"];3385 -> 3410[label="",style="solid", color="black", weight=3]; 3386[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];3386 -> 3411[label="",style="solid", color="black", weight=3]; 3387[label="Pos Zero",fontsize=16,color="green",shape="box"];3388[label="Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))",fontsize=16,color="green",shape="box"];3388 -> 3412[label="",style="dashed", color="green", weight=3]; 3389[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd2 False (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3389 -> 3413[label="",style="solid", color="black", weight=3]; 3390[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd2 True (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3390 -> 3414[label="",style="solid", color="black", weight=3]; 2733[label="Pos Zero",fontsize=16,color="green",shape="box"];2734[label="Pos Zero",fontsize=16,color="green",shape="box"];1030[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1030 -> 1127[label="",style="solid", color="black", weight=3]; 1031[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1031 -> 1128[label="",style="solid", color="black", weight=3]; 3478[label="vuz800",fontsize=16,color="green",shape="box"];3479[label="Pos Zero",fontsize=16,color="green",shape="box"];3480[label="Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))",fontsize=16,color="green",shape="box"];3480 -> 3497[label="",style="dashed", color="green", weight=3]; 3481[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd2 False (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3481 -> 3498[label="",style="solid", color="black", weight=3]; 3482[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd2 True (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3482 -> 3499[label="",style="solid", color="black", weight=3]; 2735[label="Pos Zero",fontsize=16,color="green",shape="box"];2736[label="Neg Zero",fontsize=16,color="green",shape="box"];1034[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1034 -> 1132[label="",style="solid", color="black", weight=3]; 1035[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1035 -> 1133[label="",style="solid", color="black", weight=3]; 1036[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1036 -> 1134[label="",style="solid", color="black", weight=3]; 1038 -> 47[label="",style="dashed", color="red", weight=0]; 1038[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1038 -> 1135[label="",style="dashed", color="magenta", weight=3]; 1037[label="Integer (Pos Zero) `quot` gcd1 vuz55 (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8507[label="vuz55/False",fontsize=10,color="white",style="solid",shape="box"];1037 -> 8507[label="",style="solid", color="burlywood", weight=9]; 8507 -> 1136[label="",style="solid", color="burlywood", weight=3]; 8508[label="vuz55/True",fontsize=10,color="white",style="solid",shape="box"];1037 -> 8508[label="",style="solid", color="burlywood", weight=9]; 8508 -> 1137[label="",style="solid", color="burlywood", weight=3]; 1039[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1039 -> 1138[label="",style="solid", color="black", weight=3]; 1041 -> 47[label="",style="dashed", color="red", weight=0]; 1041[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1041 -> 1139[label="",style="dashed", color="magenta", weight=3]; 1040[label="Integer (Neg Zero) `quot` gcd1 vuz56 (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8509[label="vuz56/False",fontsize=10,color="white",style="solid",shape="box"];1040 -> 8509[label="",style="solid", color="burlywood", weight=9]; 8509 -> 1140[label="",style="solid", color="burlywood", weight=3]; 8510[label="vuz56/True",fontsize=10,color="white",style="solid",shape="box"];1040 -> 8510[label="",style="solid", color="burlywood", weight=9]; 8510 -> 1141[label="",style="solid", color="burlywood", weight=3]; 3777 -> 3367[label="",style="dashed", color="red", weight=0]; 3777[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3777 -> 4064[label="",style="dashed", color="magenta", weight=3]; 3778[label="Integer (Neg vuz216) `quot` gcd0 (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3778 -> 4065[label="",style="solid", color="black", weight=3]; 3779[label="Integer (Neg vuz216) `quot` gcd1 (abs (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3779 -> 4066[label="",style="solid", color="black", weight=3]; 4061 -> 3367[label="",style="dashed", color="red", weight=0]; 4061[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];4061 -> 4121[label="",style="dashed", color="magenta", weight=3]; 4062[label="Integer (Pos vuz226) `quot` gcd0 (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4062 -> 4122[label="",style="solid", color="black", weight=3]; 4063[label="Integer (Pos vuz226) `quot` gcd1 (abs (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4063 -> 4123[label="",style="solid", color="black", weight=3]; 1050[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1050 -> 1150[label="",style="solid", color="black", weight=3]; 1052 -> 47[label="",style="dashed", color="red", weight=0]; 1052[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1052 -> 1151[label="",style="dashed", color="magenta", weight=3]; 1051[label="Integer (Pos Zero) `quot` gcd1 vuz59 (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8511[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];1051 -> 8511[label="",style="solid", color="burlywood", weight=9]; 8511 -> 1152[label="",style="solid", color="burlywood", weight=3]; 8512[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];1051 -> 8512[label="",style="solid", color="burlywood", weight=9]; 8512 -> 1153[label="",style="solid", color="burlywood", weight=3]; 1053[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1053 -> 1154[label="",style="solid", color="black", weight=3]; 1055 -> 47[label="",style="dashed", color="red", weight=0]; 1055[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1055 -> 1155[label="",style="dashed", color="magenta", weight=3]; 1054[label="Integer (Neg Zero) `quot` gcd1 vuz60 (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8513[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];1054 -> 8513[label="",style="solid", color="burlywood", weight=9]; 8513 -> 1156[label="",style="solid", color="burlywood", weight=3]; 8514[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];1054 -> 8514[label="",style="solid", color="burlywood", weight=9]; 8514 -> 1157[label="",style="solid", color="burlywood", weight=3]; 6183[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6184[label="signumReal2 (Pos (Succ vuz900)) False",fontsize=16,color="black",shape="box"];6184 -> 6262[label="",style="solid", color="black", weight=3]; 6185[label="signumReal2 (Pos (Succ vuz900)) True",fontsize=16,color="black",shape="box"];6185 -> 6263[label="",style="solid", color="black", weight=3]; 6260 -> 6919[label="",style="dashed", color="red", weight=0]; 6260[label="signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero))",fontsize=16,color="magenta"];6260 -> 6920[label="",style="dashed", color="magenta", weight=3]; 6261 -> 2609[label="",style="dashed", color="red", weight=0]; 6261[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6261 -> 6927[label="",style="dashed", color="magenta", weight=3]; 4441[label="gcd0Gcd'0 vuz259 vuz258",fontsize=16,color="black",shape="box"];4441 -> 4495[label="",style="solid", color="black", weight=3]; 4442[label="vuz259",fontsize=16,color="green",shape="box"];7640 -> 5661[label="",style="dashed", color="red", weight=0]; 7640[label="primDivNatS (primMinusNatS (Succ vuz452) (Succ vuz453)) (Succ (Succ vuz453))",fontsize=16,color="magenta"];7640 -> 7667[label="",style="dashed", color="magenta", weight=3]; 7640 -> 7668[label="",style="dashed", color="magenta", weight=3]; 6194[label="signumReal3 (Neg (Succ vuz900))",fontsize=16,color="black",shape="box"];6194 -> 6271[label="",style="solid", color="black", weight=3]; 7207 -> 7242[label="",style="dashed", color="red", weight=0]; 7207[label="signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero))",fontsize=16,color="magenta"];7207 -> 7243[label="",style="dashed", color="magenta", weight=3]; 7208 -> 2609[label="",style="dashed", color="red", weight=0]; 7208[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7208 -> 7244[label="",style="dashed", color="magenta", weight=3]; 1074[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1074 -> 1178[label="",style="solid", color="black", weight=3]; 1075 -> 5797[label="",style="dashed", color="red", weight=0]; 1075[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];1075 -> 5798[label="",style="dashed", color="magenta", weight=3]; 1075 -> 5799[label="",style="dashed", color="magenta", weight=3]; 1076 -> 5931[label="",style="dashed", color="red", weight=0]; 1076[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];1076 -> 5932[label="",style="dashed", color="magenta", weight=3]; 1076 -> 5933[label="",style="dashed", color="magenta", weight=3]; 1077[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Pos Zero)) True) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1077 -> 1183[label="",style="solid", color="black", weight=3]; 1078[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1078 -> 1184[label="",style="solid", color="black", weight=3]; 1079[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1079 -> 1185[label="",style="solid", color="black", weight=3]; 1080[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1080 -> 1186[label="",style="solid", color="black", weight=3]; 1081[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1081 -> 1187[label="",style="solid", color="black", weight=3]; 1082[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1082 -> 1188[label="",style="solid", color="black", weight=3]; 1083[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg Zero)) True) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1083 -> 1189[label="",style="solid", color="black", weight=3]; 1084[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1084 -> 1190[label="",style="solid", color="black", weight=3]; 1085[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1085 -> 1191[label="",style="solid", color="black", weight=3]; 1086[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1086 -> 1192[label="",style="solid", color="black", weight=3]; 1087[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1087 -> 1193[label="",style="solid", color="black", weight=3]; 3410 -> 4551[label="",style="dashed", color="red", weight=0]; 3410[label="primPlusNat (primMulNat vuz8000 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];3410 -> 4552[label="",style="dashed", color="magenta", weight=3]; 3410 -> 4553[label="",style="dashed", color="magenta", weight=3]; 3411[label="Zero",fontsize=16,color="green",shape="box"];3412 -> 4551[label="",style="dashed", color="red", weight=0]; 3412[label="primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];3412 -> 4554[label="",style="dashed", color="magenta", weight=3]; 3412 -> 4555[label="",style="dashed", color="magenta", weight=3]; 3413 -> 3500[label="",style="dashed", color="red", weight=0]; 3413[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd0 (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="magenta"];3413 -> 3501[label="",style="dashed", color="magenta", weight=3]; 3413 -> 3502[label="",style="dashed", color="magenta", weight=3]; 3414 -> 3518[label="",style="dashed", color="red", weight=0]; 3414[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd1 (abs (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="magenta"];3414 -> 3519[label="",style="dashed", color="magenta", weight=3]; 3414 -> 3520[label="",style="dashed", color="magenta", weight=3]; 1127 -> 3500[label="",style="dashed", color="red", weight=0]; 1127[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1127 -> 3503[label="",style="dashed", color="magenta", weight=3]; 1127 -> 3504[label="",style="dashed", color="magenta", weight=3]; 1127 -> 3505[label="",style="dashed", color="magenta", weight=3]; 1128 -> 3518[label="",style="dashed", color="red", weight=0]; 1128[label="Integer (Pos Zero) `quot` gcd1 (abs (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1128 -> 3521[label="",style="dashed", color="magenta", weight=3]; 1128 -> 3522[label="",style="dashed", color="magenta", weight=3]; 1128 -> 3523[label="",style="dashed", color="magenta", weight=3]; 3497 -> 4551[label="",style="dashed", color="red", weight=0]; 3497[label="primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];3497 -> 4556[label="",style="dashed", color="magenta", weight=3]; 3497 -> 4557[label="",style="dashed", color="magenta", weight=3]; 3498 -> 3537[label="",style="dashed", color="red", weight=0]; 3498[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd0 (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="magenta"];3498 -> 3538[label="",style="dashed", color="magenta", weight=3]; 3498 -> 3539[label="",style="dashed", color="magenta", weight=3]; 3499 -> 3554[label="",style="dashed", color="red", weight=0]; 3499[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd1 (abs (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="magenta"];3499 -> 3555[label="",style="dashed", color="magenta", weight=3]; 3499 -> 3556[label="",style="dashed", color="magenta", weight=3]; 1132 -> 3537[label="",style="dashed", color="red", weight=0]; 1132[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1132 -> 3540[label="",style="dashed", color="magenta", weight=3]; 1132 -> 3541[label="",style="dashed", color="magenta", weight=3]; 1132 -> 3542[label="",style="dashed", color="magenta", weight=3]; 1133 -> 3554[label="",style="dashed", color="red", weight=0]; 1133[label="Integer (Neg Zero) `quot` gcd1 (abs (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1133 -> 3557[label="",style="dashed", color="magenta", weight=3]; 1133 -> 3558[label="",style="dashed", color="magenta", weight=3]; 1133 -> 3559[label="",style="dashed", color="magenta", weight=3]; 1134[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1134 -> 1241[label="",style="solid", color="black", weight=3]; 1135[label="Pos Zero",fontsize=16,color="green",shape="box"];1136[label="Integer (Pos Zero) `quot` gcd1 False (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1136 -> 1242[label="",style="solid", color="black", weight=3]; 1137[label="Integer (Pos Zero) `quot` gcd1 True (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1137 -> 1243[label="",style="solid", color="black", weight=3]; 1138[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1138 -> 1244[label="",style="solid", color="black", weight=3]; 1139[label="Pos Zero",fontsize=16,color="green",shape="box"];1140[label="Integer (Neg Zero) `quot` gcd1 False (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1140 -> 1245[label="",style="solid", color="black", weight=3]; 1141[label="Integer (Neg Zero) `quot` gcd1 True (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1141 -> 1246[label="",style="solid", color="black", weight=3]; 4064[label="vuz80",fontsize=16,color="green",shape="box"];4065[label="Integer (Neg vuz216) `quot` gcd0Gcd' (abs (Integer (Neg vuz217))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4065 -> 4124[label="",style="solid", color="black", weight=3]; 4066[label="Integer (Neg vuz216) `quot` gcd1 (absReal (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4066 -> 4125[label="",style="solid", color="black", weight=3]; 4121[label="vuz80",fontsize=16,color="green",shape="box"];4122[label="Integer (Pos vuz226) `quot` gcd0Gcd' (abs (Integer (Pos vuz227))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4122 -> 4259[label="",style="solid", color="black", weight=3]; 4123[label="Integer (Pos vuz226) `quot` gcd1 (absReal (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4123 -> 4260[label="",style="solid", color="black", weight=3]; 1150[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1150 -> 1257[label="",style="solid", color="black", weight=3]; 1151[label="Neg Zero",fontsize=16,color="green",shape="box"];1152[label="Integer (Pos Zero) `quot` gcd1 False (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1152 -> 1258[label="",style="solid", color="black", weight=3]; 1153[label="Integer (Pos Zero) `quot` gcd1 True (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1153 -> 1259[label="",style="solid", color="black", weight=3]; 1154[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1154 -> 1260[label="",style="solid", color="black", weight=3]; 1155[label="Neg Zero",fontsize=16,color="green",shape="box"];1156[label="Integer (Neg Zero) `quot` gcd1 False (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1156 -> 1261[label="",style="solid", color="black", weight=3]; 1157[label="Integer (Neg Zero) `quot` gcd1 True (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1157 -> 1262[label="",style="solid", color="black", weight=3]; 6262 -> 6928[label="",style="dashed", color="red", weight=0]; 6262[label="signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero))",fontsize=16,color="magenta"];6262 -> 6929[label="",style="dashed", color="magenta", weight=3]; 6263 -> 2609[label="",style="dashed", color="red", weight=0]; 6263[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6263 -> 6942[label="",style="dashed", color="magenta", weight=3]; 6920 -> 2609[label="",style="dashed", color="red", weight=0]; 6920[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6920 -> 6943[label="",style="dashed", color="magenta", weight=3]; 6919[label="signumReal1 (Pos Zero) (Pos Zero > vuz413)",fontsize=16,color="black",shape="triangle"];6919 -> 6944[label="",style="solid", color="black", weight=3]; 6927[label="Pos Zero",fontsize=16,color="green",shape="box"];4495 -> 4166[label="",style="dashed", color="red", weight=0]; 4495[label="gcd0Gcd' vuz258 (vuz259 `rem` vuz258)",fontsize=16,color="magenta"];4495 -> 4532[label="",style="dashed", color="magenta", weight=3]; 4495 -> 4533[label="",style="dashed", color="magenta", weight=3]; 7667[label="Succ vuz453",fontsize=16,color="green",shape="box"];7668[label="primMinusNatS (Succ vuz452) (Succ vuz453)",fontsize=16,color="black",shape="box"];7668 -> 7692[label="",style="solid", color="black", weight=3]; 6271 -> 6952[label="",style="dashed", color="red", weight=0]; 6271[label="signumReal2 (Neg (Succ vuz900)) (Neg (Succ vuz900) == fromInt (Pos Zero))",fontsize=16,color="magenta"];6271 -> 6953[label="",style="dashed", color="magenta", weight=3]; 7243 -> 2609[label="",style="dashed", color="red", weight=0]; 7243[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7243 -> 7245[label="",style="dashed", color="magenta", weight=3]; 7242[label="signumReal1 (Neg Zero) (Neg Zero > vuz431)",fontsize=16,color="black",shape="triangle"];7242 -> 7246[label="",style="solid", color="black", weight=3]; 7244[label="Pos Zero",fontsize=16,color="green",shape="box"];1178[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos (Succ Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1178 -> 1287[label="",style="solid", color="black", weight=3]; 5798 -> 2647[label="",style="dashed", color="red", weight=0]; 5798[label="primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)",fontsize=16,color="magenta"];5798 -> 5876[label="",style="dashed", color="magenta", weight=3]; 5798 -> 5877[label="",style="dashed", color="magenta", weight=3]; 5799 -> 4436[label="",style="dashed", color="red", weight=0]; 5799[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5799 -> 5878[label="",style="dashed", color="magenta", weight=3]; 5799 -> 5879[label="",style="dashed", color="magenta", weight=3]; 5797[label="Integer (Pos (Succ vuz900)) `quot` gcd2 vuz339 (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="triangle"];8515[label="vuz339/False",fontsize=10,color="white",style="solid",shape="box"];5797 -> 8515[label="",style="solid", color="burlywood", weight=9]; 8515 -> 5880[label="",style="solid", color="burlywood", weight=3]; 8516[label="vuz339/True",fontsize=10,color="white",style="solid",shape="box"];5797 -> 8516[label="",style="solid", color="burlywood", weight=9]; 8516 -> 5881[label="",style="solid", color="burlywood", weight=3]; 5932 -> 4436[label="",style="dashed", color="red", weight=0]; 5932[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5932 -> 5996[label="",style="dashed", color="magenta", weight=3]; 5932 -> 5997[label="",style="dashed", color="magenta", weight=3]; 5933 -> 2647[label="",style="dashed", color="red", weight=0]; 5933[label="primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)",fontsize=16,color="magenta"];5933 -> 5998[label="",style="dashed", color="magenta", weight=3]; 5933 -> 5999[label="",style="dashed", color="magenta", weight=3]; 5931[label="Integer (Pos (Succ vuz900)) `quot` gcd2 vuz358 (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="triangle"];8517[label="vuz358/False",fontsize=10,color="white",style="solid",shape="box"];5931 -> 8517[label="",style="solid", color="burlywood", weight=9]; 8517 -> 6000[label="",style="solid", color="burlywood", weight=3]; 8518[label="vuz358/True",fontsize=10,color="white",style="solid",shape="box"];5931 -> 8518[label="",style="solid", color="burlywood", weight=9]; 8518 -> 6001[label="",style="solid", color="burlywood", weight=3]; 1183[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * fromInt (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Neg (Succ Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1183 -> 1292[label="",style="solid", color="black", weight=3]; 1184 -> 1293[label="",style="dashed", color="red", weight=0]; 1184[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1184 -> 1294[label="",style="dashed", color="magenta", weight=3]; 1185 -> 1293[label="",style="dashed", color="red", weight=0]; 1185[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1185 -> 1295[label="",style="dashed", color="magenta", weight=3]; 1186 -> 1296[label="",style="dashed", color="red", weight=0]; 1186[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1186 -> 1297[label="",style="dashed", color="magenta", weight=3]; 1187 -> 1296[label="",style="dashed", color="red", weight=0]; 1187[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1187 -> 1298[label="",style="dashed", color="magenta", weight=3]; 1188[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1188 -> 1299[label="",style="solid", color="black", weight=3]; 1189[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * fromInt (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Neg (Succ Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1189 -> 1300[label="",style="solid", color="black", weight=3]; 1190 -> 1301[label="",style="dashed", color="red", weight=0]; 1190[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1190 -> 1302[label="",style="dashed", color="magenta", weight=3]; 1191 -> 1301[label="",style="dashed", color="red", weight=0]; 1191[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1191 -> 1303[label="",style="dashed", color="magenta", weight=3]; 1192 -> 1304[label="",style="dashed", color="red", weight=0]; 1192[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1192 -> 1305[label="",style="dashed", color="magenta", weight=3]; 1193 -> 1304[label="",style="dashed", color="red", weight=0]; 1193[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1193 -> 1306[label="",style="dashed", color="magenta", weight=3]; 4552 -> 4436[label="",style="dashed", color="red", weight=0]; 4552[label="primMulNat vuz8000 (Succ Zero)",fontsize=16,color="magenta"];4552 -> 4577[label="",style="dashed", color="magenta", weight=3]; 4552 -> 4578[label="",style="dashed", color="magenta", weight=3]; 4553[label="Zero",fontsize=16,color="green",shape="box"];4554 -> 4436[label="",style="dashed", color="red", weight=0]; 4554[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="magenta"];4554 -> 4581[label="",style="dashed", color="magenta", weight=3]; 4554 -> 4582[label="",style="dashed", color="magenta", weight=3]; 4555[label="Zero",fontsize=16,color="green",shape="box"];3501 -> 4551[label="",style="dashed", color="red", weight=0]; 3501[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3501 -> 4560[label="",style="dashed", color="magenta", weight=3]; 3501 -> 4561[label="",style="dashed", color="magenta", weight=3]; 3502 -> 4551[label="",style="dashed", color="red", weight=0]; 3502[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3502 -> 4562[label="",style="dashed", color="magenta", weight=3]; 3502 -> 4563[label="",style="dashed", color="magenta", weight=3]; 3500[label="Integer (Pos vuz207) `quot` gcd0 (Integer (Pos vuz208)) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="triangle"];3500 -> 3577[label="",style="solid", color="black", weight=3]; 3519 -> 4551[label="",style="dashed", color="red", weight=0]; 3519[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3519 -> 4564[label="",style="dashed", color="magenta", weight=3]; 3519 -> 4565[label="",style="dashed", color="magenta", weight=3]; 3520 -> 4551[label="",style="dashed", color="red", weight=0]; 3520[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3520 -> 4566[label="",style="dashed", color="magenta", weight=3]; 3520 -> 4567[label="",style="dashed", color="magenta", weight=3]; 3518[label="Integer (Pos vuz209) `quot` gcd1 (abs (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="triangle"];3518 -> 3580[label="",style="solid", color="black", weight=3]; 3503[label="Zero",fontsize=16,color="green",shape="box"];3504[label="Zero",fontsize=16,color="green",shape="box"];3505[label="vuz900",fontsize=16,color="green",shape="box"];3521[label="Zero",fontsize=16,color="green",shape="box"];3522[label="Zero",fontsize=16,color="green",shape="box"];3523[label="vuz900",fontsize=16,color="green",shape="box"];4556 -> 4436[label="",style="dashed", color="red", weight=0]; 4556[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="magenta"];4556 -> 4583[label="",style="dashed", color="magenta", weight=3]; 4556 -> 4584[label="",style="dashed", color="magenta", weight=3]; 4557[label="Zero",fontsize=16,color="green",shape="box"];3538 -> 4551[label="",style="dashed", color="red", weight=0]; 3538[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3538 -> 4568[label="",style="dashed", color="magenta", weight=3]; 3538 -> 4569[label="",style="dashed", color="magenta", weight=3]; 3539 -> 4551[label="",style="dashed", color="red", weight=0]; 3539[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3539 -> 4570[label="",style="dashed", color="magenta", weight=3]; 3539 -> 4571[label="",style="dashed", color="magenta", weight=3]; 3537[label="Integer (Neg vuz211) `quot` gcd0 (Integer (Neg vuz212)) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="triangle"];3537 -> 3584[label="",style="solid", color="black", weight=3]; 3555 -> 4551[label="",style="dashed", color="red", weight=0]; 3555[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3555 -> 4572[label="",style="dashed", color="magenta", weight=3]; 3555 -> 4573[label="",style="dashed", color="magenta", weight=3]; 3556 -> 4551[label="",style="dashed", color="red", weight=0]; 3556[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3556 -> 4574[label="",style="dashed", color="magenta", weight=3]; 3556 -> 4575[label="",style="dashed", color="magenta", weight=3]; 3554[label="Integer (Neg vuz213) `quot` gcd1 (abs (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="triangle"];3554 -> 3587[label="",style="solid", color="black", weight=3]; 3540[label="Zero",fontsize=16,color="green",shape="box"];3541[label="Zero",fontsize=16,color="green",shape="box"];3542[label="vuz900",fontsize=16,color="green",shape="box"];3557[label="Zero",fontsize=16,color="green",shape="box"];3558[label="Zero",fontsize=16,color="green",shape="box"];3559[label="vuz900",fontsize=16,color="green",shape="box"];1241[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1241 -> 1369[label="",style="solid", color="black", weight=3]; 1242[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1242 -> 1370[label="",style="solid", color="black", weight=3]; 1243[label="Integer (Pos Zero) `quot` error []",fontsize=16,color="black",shape="triangle"];1243 -> 1371[label="",style="solid", color="black", weight=3]; 1244[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1244 -> 1372[label="",style="solid", color="black", weight=3]; 1245[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1245 -> 1373[label="",style="solid", color="black", weight=3]; 1246[label="Integer (Neg Zero) `quot` error []",fontsize=16,color="black",shape="triangle"];1246 -> 1374[label="",style="solid", color="black", weight=3]; 4124[label="Integer (Neg vuz216) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz217))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4124 -> 4261[label="",style="solid", color="black", weight=3]; 4125[label="Integer (Neg vuz216) `quot` gcd1 (absReal2 (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal2 (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4125 -> 4262[label="",style="solid", color="black", weight=3]; 4259[label="Integer (Pos vuz226) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz227))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4259 -> 4363[label="",style="solid", color="black", weight=3]; 4260[label="Integer (Pos vuz226) `quot` gcd1 (absReal2 (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal2 (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4260 -> 4364[label="",style="solid", color="black", weight=3]; 1257[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1257 -> 1386[label="",style="solid", color="black", weight=3]; 1258[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1258 -> 1387[label="",style="solid", color="black", weight=3]; 1259 -> 1243[label="",style="dashed", color="red", weight=0]; 1259[label="Integer (Pos Zero) `quot` error []",fontsize=16,color="magenta"];1260[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1260 -> 1388[label="",style="solid", color="black", weight=3]; 1261[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1261 -> 1389[label="",style="solid", color="black", weight=3]; 1262 -> 1246[label="",style="dashed", color="red", weight=0]; 1262[label="Integer (Neg Zero) `quot` error []",fontsize=16,color="magenta"];6929 -> 2609[label="",style="dashed", color="red", weight=0]; 6929[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6929 -> 6962[label="",style="dashed", color="magenta", weight=3]; 6928[label="signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > vuz414)",fontsize=16,color="black",shape="triangle"];6928 -> 6963[label="",style="solid", color="black", weight=3]; 6942[label="Pos Zero",fontsize=16,color="green",shape="box"];6943[label="Pos Zero",fontsize=16,color="green",shape="box"];6944[label="signumReal1 (Pos Zero) (compare (Pos Zero) vuz413 == GT)",fontsize=16,color="black",shape="box"];6944 -> 6964[label="",style="solid", color="black", weight=3]; 4532[label="vuz258",fontsize=16,color="green",shape="box"];4533 -> 4170[label="",style="dashed", color="red", weight=0]; 4533[label="vuz259 `rem` vuz258",fontsize=16,color="magenta"];4533 -> 4660[label="",style="dashed", color="magenta", weight=3]; 4533 -> 4661[label="",style="dashed", color="magenta", weight=3]; 7692[label="primMinusNatS vuz452 vuz453",fontsize=16,color="burlywood",shape="triangle"];8519[label="vuz452/Succ vuz4520",fontsize=10,color="white",style="solid",shape="box"];7692 -> 8519[label="",style="solid", color="burlywood", weight=9]; 8519 -> 7720[label="",style="solid", color="burlywood", weight=3]; 8520[label="vuz452/Zero",fontsize=10,color="white",style="solid",shape="box"];7692 -> 8520[label="",style="solid", color="burlywood", weight=9]; 8520 -> 7721[label="",style="solid", color="burlywood", weight=3]; 6953 -> 2582[label="",style="dashed", color="red", weight=0]; 6953[label="Neg (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6953 -> 6973[label="",style="dashed", color="magenta", weight=3]; 6952[label="signumReal2 (Neg (Succ vuz900)) vuz417",fontsize=16,color="burlywood",shape="triangle"];8521[label="vuz417/False",fontsize=10,color="white",style="solid",shape="box"];6952 -> 8521[label="",style="solid", color="burlywood", weight=9]; 8521 -> 6974[label="",style="solid", color="burlywood", weight=3]; 8522[label="vuz417/True",fontsize=10,color="white",style="solid",shape="box"];6952 -> 8522[label="",style="solid", color="burlywood", weight=9]; 8522 -> 6975[label="",style="solid", color="burlywood", weight=3]; 7245[label="Pos Zero",fontsize=16,color="green",shape="box"];7246[label="signumReal1 (Neg Zero) (compare (Neg Zero) vuz431 == GT)",fontsize=16,color="black",shape="box"];7246 -> 7257[label="",style="solid", color="black", weight=3]; 1287[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * Integer (Pos (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos (Succ Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1287 -> 1412[label="",style="solid", color="black", weight=3]; 5876[label="Pos Zero",fontsize=16,color="green",shape="box"];5877[label="Pos (primMulNat vuz80 Zero)",fontsize=16,color="green",shape="box"];5877 -> 5913[label="",style="dashed", color="green", weight=3]; 5878[label="Zero",fontsize=16,color="green",shape="box"];5879[label="vuz80",fontsize=16,color="green",shape="box"];5880[label="Integer (Pos (Succ vuz900)) `quot` gcd2 False (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5880 -> 5914[label="",style="solid", color="black", weight=3]; 5881[label="Integer (Pos (Succ vuz900)) `quot` gcd2 True (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5881 -> 5915[label="",style="solid", color="black", weight=3]; 5996[label="Zero",fontsize=16,color="green",shape="box"];5997[label="vuz80",fontsize=16,color="green",shape="box"];5998[label="Pos Zero",fontsize=16,color="green",shape="box"];5999[label="Neg (primMulNat vuz80 Zero)",fontsize=16,color="green",shape="box"];5999 -> 6023[label="",style="dashed", color="green", weight=3]; 6000[label="Integer (Pos (Succ vuz900)) `quot` gcd2 False (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];6000 -> 6024[label="",style="solid", color="black", weight=3]; 6001[label="Integer (Pos (Succ vuz900)) `quot` gcd2 True (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];6001 -> 6025[label="",style="solid", color="black", weight=3]; 1292[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * Integer (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Neg (Succ Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1292 -> 1419[label="",style="solid", color="black", weight=3]; 1294 -> 2647[label="",style="dashed", color="red", weight=0]; 1294[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1294 -> 2775[label="",style="dashed", color="magenta", weight=3]; 1294 -> 2776[label="",style="dashed", color="magenta", weight=3]; 1293[label="Integer (Pos Zero) `quot` gcd2 vuz66 (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];8523[label="vuz66/False",fontsize=10,color="white",style="solid",shape="box"];1293 -> 8523[label="",style="solid", color="burlywood", weight=9]; 8523 -> 1420[label="",style="solid", color="burlywood", weight=3]; 8524[label="vuz66/True",fontsize=10,color="white",style="solid",shape="box"];1293 -> 8524[label="",style="solid", color="burlywood", weight=9]; 8524 -> 1421[label="",style="solid", color="burlywood", weight=3]; 1295 -> 2647[label="",style="dashed", color="red", weight=0]; 1295[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1295 -> 2777[label="",style="dashed", color="magenta", weight=3]; 1295 -> 2778[label="",style="dashed", color="magenta", weight=3]; 1297 -> 2647[label="",style="dashed", color="red", weight=0]; 1297[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1297 -> 2779[label="",style="dashed", color="magenta", weight=3]; 1297 -> 2780[label="",style="dashed", color="magenta", weight=3]; 1296[label="Integer (Pos Zero) `quot` gcd2 vuz67 (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];8525[label="vuz67/False",fontsize=10,color="white",style="solid",shape="box"];1296 -> 8525[label="",style="solid", color="burlywood", weight=9]; 8525 -> 1422[label="",style="solid", color="burlywood", weight=3]; 8526[label="vuz67/True",fontsize=10,color="white",style="solid",shape="box"];1296 -> 8526[label="",style="solid", color="burlywood", weight=9]; 8526 -> 1423[label="",style="solid", color="burlywood", weight=3]; 1298 -> 2647[label="",style="dashed", color="red", weight=0]; 1298[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1298 -> 2781[label="",style="dashed", color="magenta", weight=3]; 1298 -> 2782[label="",style="dashed", color="magenta", weight=3]; 1299[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1299 -> 1424[label="",style="solid", color="black", weight=3]; 1300[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * Integer (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Neg (Succ Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1300 -> 1425[label="",style="solid", color="black", weight=3]; 1302 -> 2647[label="",style="dashed", color="red", weight=0]; 1302[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1302 -> 2783[label="",style="dashed", color="magenta", weight=3]; 1302 -> 2784[label="",style="dashed", color="magenta", weight=3]; 1301[label="Integer (Neg Zero) `quot` gcd2 vuz68 (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];8527[label="vuz68/False",fontsize=10,color="white",style="solid",shape="box"];1301 -> 8527[label="",style="solid", color="burlywood", weight=9]; 8527 -> 1426[label="",style="solid", color="burlywood", weight=3]; 8528[label="vuz68/True",fontsize=10,color="white",style="solid",shape="box"];1301 -> 8528[label="",style="solid", color="burlywood", weight=9]; 8528 -> 1427[label="",style="solid", color="burlywood", weight=3]; 1303 -> 2647[label="",style="dashed", color="red", weight=0]; 1303[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1303 -> 2785[label="",style="dashed", color="magenta", weight=3]; 1303 -> 2786[label="",style="dashed", color="magenta", weight=3]; 1305 -> 2647[label="",style="dashed", color="red", weight=0]; 1305[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1305 -> 2787[label="",style="dashed", color="magenta", weight=3]; 1305 -> 2788[label="",style="dashed", color="magenta", weight=3]; 1304[label="Integer (Neg Zero) `quot` gcd2 vuz69 (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];8529[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];1304 -> 8529[label="",style="solid", color="burlywood", weight=9]; 8529 -> 1428[label="",style="solid", color="burlywood", weight=3]; 8530[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];1304 -> 8530[label="",style="solid", color="burlywood", weight=9]; 8530 -> 1429[label="",style="solid", color="burlywood", weight=3]; 1306 -> 2647[label="",style="dashed", color="red", weight=0]; 1306[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1306 -> 2789[label="",style="dashed", color="magenta", weight=3]; 1306 -> 2790[label="",style="dashed", color="magenta", weight=3]; 4577[label="Succ Zero",fontsize=16,color="green",shape="box"];4578[label="vuz8000",fontsize=16,color="green",shape="box"];4581[label="Succ Zero",fontsize=16,color="green",shape="box"];4582[label="vuz800",fontsize=16,color="green",shape="box"];4560[label="vuz195",fontsize=16,color="green",shape="box"];4561[label="Zero",fontsize=16,color="green",shape="box"];4562[label="vuz195",fontsize=16,color="green",shape="box"];4563[label="Zero",fontsize=16,color="green",shape="box"];3577[label="Integer (Pos vuz207) `quot` gcd0Gcd' (abs (Integer (Pos vuz208))) (abs (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];3577 -> 3684[label="",style="solid", color="black", weight=3]; 4564[label="vuz195",fontsize=16,color="green",shape="box"];4565[label="Zero",fontsize=16,color="green",shape="box"];4566[label="vuz195",fontsize=16,color="green",shape="box"];4567[label="Zero",fontsize=16,color="green",shape="box"];3580[label="Integer (Pos vuz209) `quot` gcd1 (absReal (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3580 -> 3685[label="",style="solid", color="black", weight=3]; 4583[label="Succ Zero",fontsize=16,color="green",shape="box"];4584[label="vuz800",fontsize=16,color="green",shape="box"];4568[label="vuz203",fontsize=16,color="green",shape="box"];4569[label="Zero",fontsize=16,color="green",shape="box"];4570[label="vuz203",fontsize=16,color="green",shape="box"];4571[label="Zero",fontsize=16,color="green",shape="box"];3584[label="Integer (Neg vuz211) `quot` gcd0Gcd' (abs (Integer (Neg vuz212))) (abs (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];3584 -> 3686[label="",style="solid", color="black", weight=3]; 4572[label="vuz203",fontsize=16,color="green",shape="box"];4573[label="Zero",fontsize=16,color="green",shape="box"];4574[label="vuz203",fontsize=16,color="green",shape="box"];4575[label="Zero",fontsize=16,color="green",shape="box"];3587[label="Integer (Neg vuz213) `quot` gcd1 (absReal (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3587 -> 3687[label="",style="solid", color="black", weight=3]; 1369[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1369 -> 1505[label="",style="solid", color="black", weight=3]; 1370[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1370 -> 1506[label="",style="solid", color="black", weight=3]; 1371[label="error []",fontsize=16,color="red",shape="box"];1372[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1372 -> 1507[label="",style="solid", color="black", weight=3]; 1373[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1373 -> 1508[label="",style="solid", color="black", weight=3]; 1374[label="error []",fontsize=16,color="red",shape="box"];4261[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4261 -> 4365[label="",style="solid", color="black", weight=3]; 4262[label="Integer (Neg vuz216) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4262 -> 4366[label="",style="solid", color="black", weight=3]; 4363[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4363 -> 4459[label="",style="solid", color="black", weight=3]; 4364[label="Integer (Pos vuz226) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4364 -> 4460[label="",style="solid", color="black", weight=3]; 1386[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1386 -> 1523[label="",style="solid", color="black", weight=3]; 1387[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1387 -> 1524[label="",style="solid", color="black", weight=3]; 1388[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1388 -> 1525[label="",style="solid", color="black", weight=3]; 1389[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1389 -> 1526[label="",style="solid", color="black", weight=3]; 6962[label="Pos Zero",fontsize=16,color="green",shape="box"];6963[label="signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) vuz414 == GT)",fontsize=16,color="black",shape="box"];6963 -> 7020[label="",style="solid", color="black", weight=3]; 6964[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) vuz413 == GT)",fontsize=16,color="burlywood",shape="box"];8531[label="vuz413/Pos vuz4130",fontsize=10,color="white",style="solid",shape="box"];6964 -> 8531[label="",style="solid", color="burlywood", weight=9]; 8531 -> 7021[label="",style="solid", color="burlywood", weight=3]; 8532[label="vuz413/Neg vuz4130",fontsize=10,color="white",style="solid",shape="box"];6964 -> 8532[label="",style="solid", color="burlywood", weight=9]; 8532 -> 7022[label="",style="solid", color="burlywood", weight=3]; 4660[label="vuz259",fontsize=16,color="green",shape="box"];4661[label="vuz258",fontsize=16,color="green",shape="box"];4170[label="vuz156 `rem` vuz155",fontsize=16,color="black",shape="triangle"];4170 -> 4263[label="",style="solid", color="black", weight=3]; 7720[label="primMinusNatS (Succ vuz4520) vuz453",fontsize=16,color="burlywood",shape="box"];8533[label="vuz453/Succ vuz4530",fontsize=10,color="white",style="solid",shape="box"];7720 -> 8533[label="",style="solid", color="burlywood", weight=9]; 8533 -> 7746[label="",style="solid", color="burlywood", weight=3]; 8534[label="vuz453/Zero",fontsize=10,color="white",style="solid",shape="box"];7720 -> 8534[label="",style="solid", color="burlywood", weight=9]; 8534 -> 7747[label="",style="solid", color="burlywood", weight=3]; 7721[label="primMinusNatS Zero vuz453",fontsize=16,color="burlywood",shape="box"];8535[label="vuz453/Succ vuz4530",fontsize=10,color="white",style="solid",shape="box"];7721 -> 8535[label="",style="solid", color="burlywood", weight=9]; 8535 -> 7748[label="",style="solid", color="burlywood", weight=3]; 8536[label="vuz453/Zero",fontsize=10,color="white",style="solid",shape="box"];7721 -> 8536[label="",style="solid", color="burlywood", weight=9]; 8536 -> 7749[label="",style="solid", color="burlywood", weight=3]; 6973[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];6974[label="signumReal2 (Neg (Succ vuz900)) False",fontsize=16,color="black",shape="box"];6974 -> 7030[label="",style="solid", color="black", weight=3]; 6975[label="signumReal2 (Neg (Succ vuz900)) True",fontsize=16,color="black",shape="box"];6975 -> 7031[label="",style="solid", color="black", weight=3]; 7257[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) vuz431 == GT)",fontsize=16,color="burlywood",shape="box"];8537[label="vuz431/Pos vuz4310",fontsize=10,color="white",style="solid",shape="box"];7257 -> 8537[label="",style="solid", color="burlywood", weight=9]; 8537 -> 7260[label="",style="solid", color="burlywood", weight=3]; 8538[label="vuz431/Neg vuz4310",fontsize=10,color="white",style="solid",shape="box"];7257 -> 8538[label="",style="solid", color="burlywood", weight=9]; 8538 -> 7261[label="",style="solid", color="burlywood", weight=3]; 1412[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1412 -> 1547[label="",style="solid", color="black", weight=3]; 5913 -> 4436[label="",style="dashed", color="red", weight=0]; 5913[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5913 -> 6002[label="",style="dashed", color="magenta", weight=3]; 5913 -> 6003[label="",style="dashed", color="magenta", weight=3]; 5914[label="Integer (Pos (Succ vuz900)) `quot` gcd0 (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5914 -> 6004[label="",style="solid", color="black", weight=3]; 5915 -> 6053[label="",style="dashed", color="red", weight=0]; 5915[label="Integer (Pos (Succ vuz900)) `quot` gcd1 (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)) (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5915 -> 6054[label="",style="dashed", color="magenta", weight=3]; 5915 -> 6055[label="",style="dashed", color="magenta", weight=3]; 5915 -> 6056[label="",style="dashed", color="magenta", weight=3]; 5915 -> 6057[label="",style="dashed", color="magenta", weight=3]; 6023 -> 4436[label="",style="dashed", color="red", weight=0]; 6023[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6023 -> 6195[label="",style="dashed", color="magenta", weight=3]; 6023 -> 6196[label="",style="dashed", color="magenta", weight=3]; 6024[label="Integer (Pos (Succ vuz900)) `quot` gcd0 (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];6024 -> 6197[label="",style="solid", color="black", weight=3]; 6025 -> 6053[label="",style="dashed", color="red", weight=0]; 6025[label="Integer (Pos (Succ vuz900)) `quot` gcd1 (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)) (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];6025 -> 6058[label="",style="dashed", color="magenta", weight=3]; 6025 -> 6059[label="",style="dashed", color="magenta", weight=3]; 6025 -> 6060[label="",style="dashed", color="magenta", weight=3]; 6025 -> 6061[label="",style="dashed", color="magenta", weight=3]; 1419 -> 4467[label="",style="dashed", color="red", weight=0]; 1419[label="Integer (Pos Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer (Pos Zero))",fontsize=16,color="magenta"];1419 -> 4468[label="",style="dashed", color="magenta", weight=3]; 1419 -> 4469[label="",style="dashed", color="magenta", weight=3]; 1419 -> 4470[label="",style="dashed", color="magenta", weight=3]; 2775[label="Pos Zero",fontsize=16,color="green",shape="box"];2776[label="Pos Zero",fontsize=16,color="green",shape="box"];1420[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1420 -> 1553[label="",style="solid", color="black", weight=3]; 1421[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1421 -> 1554[label="",style="solid", color="black", weight=3]; 2777[label="Pos Zero",fontsize=16,color="green",shape="box"];2778[label="Pos Zero",fontsize=16,color="green",shape="box"];2779[label="Pos Zero",fontsize=16,color="green",shape="box"];2780[label="Neg Zero",fontsize=16,color="green",shape="box"];1422[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1422 -> 1555[label="",style="solid", color="black", weight=3]; 1423[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1423 -> 1556[label="",style="solid", color="black", weight=3]; 2781[label="Pos Zero",fontsize=16,color="green",shape="box"];2782[label="Neg Zero",fontsize=16,color="green",shape="box"];1424[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1424 -> 1557[label="",style="solid", color="black", weight=3]; 1425 -> 4467[label="",style="dashed", color="red", weight=0]; 1425[label="Integer (Neg Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer (Neg Zero))",fontsize=16,color="magenta"];1425 -> 4471[label="",style="dashed", color="magenta", weight=3]; 1425 -> 4472[label="",style="dashed", color="magenta", weight=3]; 1425 -> 4473[label="",style="dashed", color="magenta", weight=3]; 2783[label="Pos Zero",fontsize=16,color="green",shape="box"];2784[label="Pos Zero",fontsize=16,color="green",shape="box"];1426[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1426 -> 1559[label="",style="solid", color="black", weight=3]; 1427[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1427 -> 1560[label="",style="solid", color="black", weight=3]; 2785[label="Pos Zero",fontsize=16,color="green",shape="box"];2786[label="Pos Zero",fontsize=16,color="green",shape="box"];2787[label="Pos Zero",fontsize=16,color="green",shape="box"];2788[label="Neg Zero",fontsize=16,color="green",shape="box"];1428[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1428 -> 1561[label="",style="solid", color="black", weight=3]; 1429[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1429 -> 1562[label="",style="solid", color="black", weight=3]; 2789[label="Pos Zero",fontsize=16,color="green",shape="box"];2790[label="Neg Zero",fontsize=16,color="green",shape="box"];3684[label="Integer (Pos vuz207) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz208))) (abs (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];3684 -> 3781[label="",style="solid", color="black", weight=3]; 3685[label="Integer (Pos vuz209) `quot` gcd1 (absReal2 (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal2 (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3685 -> 3782[label="",style="solid", color="black", weight=3]; 3686[label="Integer (Neg vuz211) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz212))) (abs (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];3686 -> 3783[label="",style="solid", color="black", weight=3]; 3687[label="Integer (Neg vuz213) `quot` gcd1 (absReal2 (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal2 (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3687 -> 3784[label="",style="solid", color="black", weight=3]; 1505[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1505 -> 1639[label="",style="solid", color="black", weight=3]; 1506[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1506 -> 1640[label="",style="solid", color="black", weight=3]; 1507[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1507 -> 1641[label="",style="solid", color="black", weight=3]; 1508[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1508 -> 1642[label="",style="solid", color="black", weight=3]; 4365[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4365 -> 4461[label="",style="solid", color="black", weight=3]; 4366[label="Integer (Neg vuz216) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4366 -> 4462[label="",style="solid", color="black", weight=3]; 4459[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4459 -> 4543[label="",style="solid", color="black", weight=3]; 4460[label="Integer (Pos vuz226) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4460 -> 4544[label="",style="solid", color="black", weight=3]; 1523[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1523 -> 1656[label="",style="solid", color="black", weight=3]; 1524[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1524 -> 1657[label="",style="solid", color="black", weight=3]; 1525[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1525 -> 1658[label="",style="solid", color="black", weight=3]; 1526[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1526 -> 1659[label="",style="solid", color="black", weight=3]; 7020[label="signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) vuz414 == GT)",fontsize=16,color="burlywood",shape="box"];8539[label="vuz414/Pos vuz4140",fontsize=10,color="white",style="solid",shape="box"];7020 -> 8539[label="",style="solid", color="burlywood", weight=9]; 8539 -> 7064[label="",style="solid", color="burlywood", weight=3]; 8540[label="vuz414/Neg vuz4140",fontsize=10,color="white",style="solid",shape="box"];7020 -> 8540[label="",style="solid", color="burlywood", weight=9]; 8540 -> 7065[label="",style="solid", color="burlywood", weight=3]; 7021[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos vuz4130) == GT)",fontsize=16,color="burlywood",shape="box"];8541[label="vuz4130/Succ vuz41300",fontsize=10,color="white",style="solid",shape="box"];7021 -> 8541[label="",style="solid", color="burlywood", weight=9]; 8541 -> 7066[label="",style="solid", color="burlywood", weight=3]; 8542[label="vuz4130/Zero",fontsize=10,color="white",style="solid",shape="box"];7021 -> 8542[label="",style="solid", color="burlywood", weight=9]; 8542 -> 7067[label="",style="solid", color="burlywood", weight=3]; 7022[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Neg vuz4130) == GT)",fontsize=16,color="burlywood",shape="box"];8543[label="vuz4130/Succ vuz41300",fontsize=10,color="white",style="solid",shape="box"];7022 -> 8543[label="",style="solid", color="burlywood", weight=9]; 8543 -> 7068[label="",style="solid", color="burlywood", weight=3]; 8544[label="vuz4130/Zero",fontsize=10,color="white",style="solid",shape="box"];7022 -> 8544[label="",style="solid", color="burlywood", weight=9]; 8544 -> 7069[label="",style="solid", color="burlywood", weight=3]; 4263[label="primRemInt vuz156 vuz155",fontsize=16,color="burlywood",shape="triangle"];8545[label="vuz156/Pos vuz1560",fontsize=10,color="white",style="solid",shape="box"];4263 -> 8545[label="",style="solid", color="burlywood", weight=9]; 8545 -> 4367[label="",style="solid", color="burlywood", weight=3]; 8546[label="vuz156/Neg vuz1560",fontsize=10,color="white",style="solid",shape="box"];4263 -> 8546[label="",style="solid", color="burlywood", weight=9]; 8546 -> 4368[label="",style="solid", color="burlywood", weight=3]; 7746[label="primMinusNatS (Succ vuz4520) (Succ vuz4530)",fontsize=16,color="black",shape="box"];7746 -> 7776[label="",style="solid", color="black", weight=3]; 7747[label="primMinusNatS (Succ vuz4520) Zero",fontsize=16,color="black",shape="box"];7747 -> 7777[label="",style="solid", color="black", weight=3]; 7748[label="primMinusNatS Zero (Succ vuz4530)",fontsize=16,color="black",shape="box"];7748 -> 7778[label="",style="solid", color="black", weight=3]; 7749[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];7749 -> 7779[label="",style="solid", color="black", weight=3]; 7030 -> 7077[label="",style="dashed", color="red", weight=0]; 7030[label="signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero))",fontsize=16,color="magenta"];7030 -> 7078[label="",style="dashed", color="magenta", weight=3]; 7031 -> 2609[label="",style="dashed", color="red", weight=0]; 7031[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7031 -> 7087[label="",style="dashed", color="magenta", weight=3]; 7260[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos vuz4310) == GT)",fontsize=16,color="burlywood",shape="box"];8547[label="vuz4310/Succ vuz43100",fontsize=10,color="white",style="solid",shape="box"];7260 -> 8547[label="",style="solid", color="burlywood", weight=9]; 8547 -> 7291[label="",style="solid", color="burlywood", weight=3]; 8548[label="vuz4310/Zero",fontsize=10,color="white",style="solid",shape="box"];7260 -> 8548[label="",style="solid", color="burlywood", weight=9]; 8548 -> 7292[label="",style="solid", color="burlywood", weight=3]; 7261[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Neg vuz4310) == GT)",fontsize=16,color="burlywood",shape="box"];8549[label="vuz4310/Succ vuz43100",fontsize=10,color="white",style="solid",shape="box"];7261 -> 8549[label="",style="solid", color="burlywood", weight=9]; 8549 -> 7293[label="",style="solid", color="burlywood", weight=3]; 8550[label="vuz4310/Zero",fontsize=10,color="white",style="solid",shape="box"];7261 -> 8550[label="",style="solid", color="burlywood", weight=9]; 8550 -> 7294[label="",style="solid", color="burlywood", weight=3]; 1547[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1547 -> 1684[label="",style="solid", color="black", weight=3]; 6002[label="Zero",fontsize=16,color="green",shape="box"];6003[label="vuz80",fontsize=16,color="green",shape="box"];6004 -> 4807[label="",style="dashed", color="red", weight=0]; 6004[label="Integer (Pos (Succ vuz900)) `quot` gcd0Gcd' (abs (Integer (Pos vuz340))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];6004 -> 6026[label="",style="dashed", color="magenta", weight=3]; 6004 -> 6027[label="",style="dashed", color="magenta", weight=3]; 6004 -> 6028[label="",style="dashed", color="magenta", weight=3]; 6054[label="Pos vuz340",fontsize=16,color="green",shape="box"];6055[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6056[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6057 -> 148[label="",style="dashed", color="red", weight=0]; 6057[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6057 -> 6198[label="",style="dashed", color="magenta", weight=3]; 6053[label="Integer vuz268 `quot` gcd1 vuz372 (Integer vuz299) (Integer vuz269)",fontsize=16,color="burlywood",shape="triangle"];8551[label="vuz372/False",fontsize=10,color="white",style="solid",shape="box"];6053 -> 8551[label="",style="solid", color="burlywood", weight=9]; 8551 -> 6199[label="",style="solid", color="burlywood", weight=3]; 8552[label="vuz372/True",fontsize=10,color="white",style="solid",shape="box"];6053 -> 8552[label="",style="solid", color="burlywood", weight=9]; 8552 -> 6200[label="",style="solid", color="burlywood", weight=3]; 6195[label="Zero",fontsize=16,color="green",shape="box"];6196[label="vuz80",fontsize=16,color="green",shape="box"];6197 -> 4807[label="",style="dashed", color="red", weight=0]; 6197[label="Integer (Pos (Succ vuz900)) `quot` gcd0Gcd' (abs (Integer (Neg vuz359))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];6197 -> 6273[label="",style="dashed", color="magenta", weight=3]; 6197 -> 6274[label="",style="dashed", color="magenta", weight=3]; 6197 -> 6275[label="",style="dashed", color="magenta", weight=3]; 6058[label="Neg vuz359",fontsize=16,color="green",shape="box"];6059[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6060[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6061 -> 148[label="",style="dashed", color="red", weight=0]; 6061[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6061 -> 6201[label="",style="dashed", color="magenta", weight=3]; 4468[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];4468 -> 4545[label="",style="solid", color="black", weight=3]; 4469[label="Pos Zero",fontsize=16,color="green",shape="box"];4470[label="Pos Zero",fontsize=16,color="green",shape="box"];4467[label="Integer vuz268 `quot` gcd2 vuz280 (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="burlywood",shape="triangle"];8553[label="vuz280/False",fontsize=10,color="white",style="solid",shape="box"];4467 -> 8553[label="",style="solid", color="burlywood", weight=9]; 8553 -> 4546[label="",style="solid", color="burlywood", weight=3]; 8554[label="vuz280/True",fontsize=10,color="white",style="solid",shape="box"];4467 -> 8554[label="",style="solid", color="burlywood", weight=9]; 8554 -> 4547[label="",style="solid", color="burlywood", weight=3]; 1553[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="triangle"];1553 -> 1690[label="",style="solid", color="black", weight=3]; 1554 -> 6053[label="",style="dashed", color="red", weight=0]; 1554[label="Integer (Pos Zero) `quot` gcd1 (Integer (Pos Zero) == fromInt (Pos Zero)) (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1554 -> 6066[label="",style="dashed", color="magenta", weight=3]; 1554 -> 6067[label="",style="dashed", color="magenta", weight=3]; 1554 -> 6068[label="",style="dashed", color="magenta", weight=3]; 1554 -> 6069[label="",style="dashed", color="magenta", weight=3]; 1555[label="Integer (Pos Zero) `quot` gcd0 (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="triangle"];1555 -> 1693[label="",style="solid", color="black", weight=3]; 1556 -> 6053[label="",style="dashed", color="red", weight=0]; 1556[label="Integer (Pos Zero) `quot` gcd1 (Integer (Pos Zero) == fromInt (Pos Zero)) (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1556 -> 6070[label="",style="dashed", color="magenta", weight=3]; 1556 -> 6071[label="",style="dashed", color="magenta", weight=3]; 1556 -> 6072[label="",style="dashed", color="magenta", weight=3]; 1556 -> 6073[label="",style="dashed", color="magenta", weight=3]; 1557[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1557 -> 1696[label="",style="solid", color="black", weight=3]; 4471 -> 4468[label="",style="dashed", color="red", weight=0]; 4471[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4472[label="Neg Zero",fontsize=16,color="green",shape="box"];4473[label="Neg Zero",fontsize=16,color="green",shape="box"];1559[label="Integer (Neg Zero) `quot` gcd0 (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="triangle"];1559 -> 1698[label="",style="solid", color="black", weight=3]; 1560 -> 6053[label="",style="dashed", color="red", weight=0]; 1560[label="Integer (Neg Zero) `quot` gcd1 (Integer (Neg Zero) == fromInt (Pos Zero)) (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1560 -> 6074[label="",style="dashed", color="magenta", weight=3]; 1560 -> 6075[label="",style="dashed", color="magenta", weight=3]; 1560 -> 6076[label="",style="dashed", color="magenta", weight=3]; 1560 -> 6077[label="",style="dashed", color="magenta", weight=3]; 1561[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="triangle"];1561 -> 1701[label="",style="solid", color="black", weight=3]; 1562 -> 6053[label="",style="dashed", color="red", weight=0]; 1562[label="Integer (Neg Zero) `quot` gcd1 (Integer (Neg Zero) == fromInt (Pos Zero)) (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1562 -> 6078[label="",style="dashed", color="magenta", weight=3]; 1562 -> 6079[label="",style="dashed", color="magenta", weight=3]; 1562 -> 6080[label="",style="dashed", color="magenta", weight=3]; 1562 -> 6081[label="",style="dashed", color="magenta", weight=3]; 3781[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos (Succ vuz196)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (abs (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];3781 -> 4142[label="",style="solid", color="black", weight=3]; 3782[label="Integer (Pos vuz209) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3782 -> 4143[label="",style="solid", color="black", weight=3]; 3783[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos (Succ vuz204)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (abs (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];3783 -> 4144[label="",style="solid", color="black", weight=3]; 3784[label="Integer (Neg vuz213) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3784 -> 4145[label="",style="solid", color="black", weight=3]; 1639[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1639 -> 1787[label="",style="solid", color="black", weight=3]; 1640[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1640 -> 1788[label="",style="solid", color="black", weight=3]; 1641[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1641 -> 1789[label="",style="solid", color="black", weight=3]; 1642[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1642 -> 1790[label="",style="solid", color="black", weight=3]; 4461[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal2 (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4461 -> 4548[label="",style="solid", color="black", weight=3]; 4462 -> 4549[label="",style="dashed", color="red", weight=0]; 4462[label="Integer (Neg vuz216) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4462 -> 4550[label="",style="dashed", color="magenta", weight=3]; 4543[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal2 (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4543 -> 4671[label="",style="solid", color="black", weight=3]; 4544 -> 4672[label="",style="dashed", color="red", weight=0]; 4544[label="Integer (Pos vuz226) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4544 -> 4673[label="",style="dashed", color="magenta", weight=3]; 1656[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1656 -> 1807[label="",style="solid", color="black", weight=3]; 1657[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1657 -> 1808[label="",style="solid", color="black", weight=3]; 1658[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1658 -> 1809[label="",style="solid", color="black", weight=3]; 1659[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1659 -> 1810[label="",style="solid", color="black", weight=3]; 7064[label="signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos vuz4140) == GT)",fontsize=16,color="black",shape="box"];7064 -> 7088[label="",style="solid", color="black", weight=3]; 7065[label="signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Neg vuz4140) == GT)",fontsize=16,color="black",shape="box"];7065 -> 7089[label="",style="solid", color="black", weight=3]; 7066[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos (Succ vuz41300)) == GT)",fontsize=16,color="black",shape="box"];7066 -> 7090[label="",style="solid", color="black", weight=3]; 7067[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];7067 -> 7091[label="",style="solid", color="black", weight=3]; 7068[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Neg (Succ vuz41300)) == GT)",fontsize=16,color="black",shape="box"];7068 -> 7092[label="",style="solid", color="black", weight=3]; 7069[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];7069 -> 7093[label="",style="solid", color="black", weight=3]; 4367[label="primRemInt (Pos vuz1560) vuz155",fontsize=16,color="burlywood",shape="box"];8555[label="vuz155/Pos vuz1550",fontsize=10,color="white",style="solid",shape="box"];4367 -> 8555[label="",style="solid", color="burlywood", weight=9]; 8555 -> 4463[label="",style="solid", color="burlywood", weight=3]; 8556[label="vuz155/Neg vuz1550",fontsize=10,color="white",style="solid",shape="box"];4367 -> 8556[label="",style="solid", color="burlywood", weight=9]; 8556 -> 4464[label="",style="solid", color="burlywood", weight=3]; 4368[label="primRemInt (Neg vuz1560) vuz155",fontsize=16,color="burlywood",shape="box"];8557[label="vuz155/Pos vuz1550",fontsize=10,color="white",style="solid",shape="box"];4368 -> 8557[label="",style="solid", color="burlywood", weight=9]; 8557 -> 4465[label="",style="solid", color="burlywood", weight=3]; 8558[label="vuz155/Neg vuz1550",fontsize=10,color="white",style="solid",shape="box"];4368 -> 8558[label="",style="solid", color="burlywood", weight=9]; 8558 -> 4466[label="",style="solid", color="burlywood", weight=3]; 7776 -> 7692[label="",style="dashed", color="red", weight=0]; 7776[label="primMinusNatS vuz4520 vuz4530",fontsize=16,color="magenta"];7776 -> 7805[label="",style="dashed", color="magenta", weight=3]; 7776 -> 7806[label="",style="dashed", color="magenta", weight=3]; 7777[label="Succ vuz4520",fontsize=16,color="green",shape="box"];7778[label="Zero",fontsize=16,color="green",shape="box"];7779[label="Zero",fontsize=16,color="green",shape="box"];7078 -> 2609[label="",style="dashed", color="red", weight=0]; 7078[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7078 -> 7102[label="",style="dashed", color="magenta", weight=3]; 7077[label="signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > vuz427)",fontsize=16,color="black",shape="triangle"];7077 -> 7103[label="",style="solid", color="black", weight=3]; 7087[label="Pos Zero",fontsize=16,color="green",shape="box"];7291[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos (Succ vuz43100)) == GT)",fontsize=16,color="black",shape="box"];7291 -> 7322[label="",style="solid", color="black", weight=3]; 7292[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];7292 -> 7323[label="",style="solid", color="black", weight=3]; 7293[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Neg (Succ vuz43100)) == GT)",fontsize=16,color="black",shape="box"];7293 -> 7324[label="",style="solid", color="black", weight=3]; 7294[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];7294 -> 7325[label="",style="solid", color="black", weight=3]; 1684[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8559[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];1684 -> 8559[label="",style="solid", color="burlywood", weight=9]; 8559 -> 1837[label="",style="solid", color="burlywood", weight=3]; 8560[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];1684 -> 8560[label="",style="solid", color="burlywood", weight=9]; 8560 -> 1838[label="",style="solid", color="burlywood", weight=3]; 6026[label="Pos vuz340",fontsize=16,color="green",shape="box"];6027[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6028[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];4807[label="Integer vuz268 `quot` gcd0Gcd' (abs (Integer vuz298)) (abs (Integer vuz269))",fontsize=16,color="black",shape="triangle"];4807 -> 4829[label="",style="solid", color="black", weight=3]; 6198[label="vuz900",fontsize=16,color="green",shape="box"];6199[label="Integer vuz268 `quot` gcd1 False (Integer vuz299) (Integer vuz269)",fontsize=16,color="black",shape="box"];6199 -> 6276[label="",style="solid", color="black", weight=3]; 6200[label="Integer vuz268 `quot` gcd1 True (Integer vuz299) (Integer vuz269)",fontsize=16,color="black",shape="box"];6200 -> 6277[label="",style="solid", color="black", weight=3]; 6273[label="Neg vuz359",fontsize=16,color="green",shape="box"];6274[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6275[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6201[label="vuz900",fontsize=16,color="green",shape="box"];4545[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];4545 -> 4720[label="",style="solid", color="black", weight=3]; 4546[label="Integer vuz268 `quot` gcd2 False (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="black",shape="box"];4546 -> 4721[label="",style="solid", color="black", weight=3]; 4547[label="Integer vuz268 `quot` gcd2 True (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="black",shape="box"];4547 -> 4722[label="",style="solid", color="black", weight=3]; 1690 -> 4807[label="",style="dashed", color="red", weight=0]; 1690[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];1690 -> 4808[label="",style="dashed", color="magenta", weight=3]; 1690 -> 4809[label="",style="dashed", color="magenta", weight=3]; 1690 -> 4810[label="",style="dashed", color="magenta", weight=3]; 6066[label="Pos Zero",fontsize=16,color="green",shape="box"];6067[label="Pos Zero",fontsize=16,color="green",shape="box"];6068[label="Pos Zero",fontsize=16,color="green",shape="box"];6069 -> 131[label="",style="dashed", color="red", weight=0]; 6069[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1693 -> 4807[label="",style="dashed", color="red", weight=0]; 1693[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];1693 -> 4811[label="",style="dashed", color="magenta", weight=3]; 1693 -> 4812[label="",style="dashed", color="magenta", weight=3]; 1693 -> 4813[label="",style="dashed", color="magenta", weight=3]; 6070[label="Neg Zero",fontsize=16,color="green",shape="box"];6071[label="Pos Zero",fontsize=16,color="green",shape="box"];6072[label="Pos Zero",fontsize=16,color="green",shape="box"];6073 -> 131[label="",style="dashed", color="red", weight=0]; 6073[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1696[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * fromInt (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Neg (Succ Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1696 -> 1853[label="",style="solid", color="black", weight=3]; 1698 -> 4807[label="",style="dashed", color="red", weight=0]; 1698[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];1698 -> 4814[label="",style="dashed", color="magenta", weight=3]; 1698 -> 4815[label="",style="dashed", color="magenta", weight=3]; 1698 -> 4816[label="",style="dashed", color="magenta", weight=3]; 6074[label="Pos Zero",fontsize=16,color="green",shape="box"];6075[label="Neg Zero",fontsize=16,color="green",shape="box"];6076[label="Neg Zero",fontsize=16,color="green",shape="box"];6077 -> 133[label="",style="dashed", color="red", weight=0]; 6077[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1701 -> 4807[label="",style="dashed", color="red", weight=0]; 1701[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];1701 -> 4817[label="",style="dashed", color="magenta", weight=3]; 1701 -> 4818[label="",style="dashed", color="magenta", weight=3]; 1701 -> 4819[label="",style="dashed", color="magenta", weight=3]; 6078[label="Neg Zero",fontsize=16,color="green",shape="box"];6079[label="Neg Zero",fontsize=16,color="green",shape="box"];6080[label="Neg Zero",fontsize=16,color="green",shape="box"];6081 -> 133[label="",style="dashed", color="red", weight=0]; 6081[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4142[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos (Succ vuz196)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];4142 -> 4276[label="",style="solid", color="black", weight=3]; 4143[label="Integer (Pos vuz209) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4143 -> 4277[label="",style="solid", color="black", weight=3]; 4144[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos (Succ vuz204)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];4144 -> 4278[label="",style="solid", color="black", weight=3]; 4145[label="Integer (Neg vuz213) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4145 -> 4279[label="",style="solid", color="black", weight=3]; 1787[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1787 -> 1961[label="",style="solid", color="black", weight=3]; 1788[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1788 -> 1962[label="",style="solid", color="black", weight=3]; 1789[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1789 -> 1963[label="",style="solid", color="black", weight=3]; 1790[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1790 -> 1964[label="",style="solid", color="black", weight=3]; 4548[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4548 -> 4723[label="",style="solid", color="black", weight=3]; 4550 -> 47[label="",style="dashed", color="red", weight=0]; 4550[label="absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4550 -> 4724[label="",style="dashed", color="magenta", weight=3]; 4549[label="Integer (Neg vuz216) `quot` gcd1 vuz284 (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8561[label="vuz284/False",fontsize=10,color="white",style="solid",shape="box"];4549 -> 8561[label="",style="solid", color="burlywood", weight=9]; 8561 -> 4725[label="",style="solid", color="burlywood", weight=3]; 8562[label="vuz284/True",fontsize=10,color="white",style="solid",shape="box"];4549 -> 8562[label="",style="solid", color="burlywood", weight=9]; 8562 -> 4726[label="",style="solid", color="burlywood", weight=3]; 4671[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4671 -> 4727[label="",style="solid", color="black", weight=3]; 4673 -> 47[label="",style="dashed", color="red", weight=0]; 4673[label="absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4673 -> 4728[label="",style="dashed", color="magenta", weight=3]; 4672[label="Integer (Pos vuz226) `quot` gcd1 vuz294 (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8563[label="vuz294/False",fontsize=10,color="white",style="solid",shape="box"];4672 -> 8563[label="",style="solid", color="burlywood", weight=9]; 8563 -> 4729[label="",style="solid", color="burlywood", weight=3]; 8564[label="vuz294/True",fontsize=10,color="white",style="solid",shape="box"];4672 -> 8564[label="",style="solid", color="burlywood", weight=9]; 8564 -> 4730[label="",style="solid", color="burlywood", weight=3]; 1807[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1807 -> 1982[label="",style="solid", color="black", weight=3]; 1808[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1808 -> 1983[label="",style="solid", color="black", weight=3]; 1809[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1809 -> 1984[label="",style="solid", color="black", weight=3]; 1810[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1810 -> 1985[label="",style="solid", color="black", weight=3]; 7088 -> 7698[label="",style="dashed", color="red", weight=0]; 7088[label="signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) vuz4140 == GT)",fontsize=16,color="magenta"];7088 -> 7699[label="",style="dashed", color="magenta", weight=3]; 7088 -> 7700[label="",style="dashed", color="magenta", weight=3]; 7088 -> 7701[label="",style="dashed", color="magenta", weight=3]; 7089[label="signumReal1 (Pos (Succ vuz900)) (GT == GT)",fontsize=16,color="black",shape="triangle"];7089 -> 7141[label="",style="solid", color="black", weight=3]; 7090[label="signumReal1 (Pos Zero) (primCmpNat Zero (Succ vuz41300) == GT)",fontsize=16,color="black",shape="box"];7090 -> 7142[label="",style="solid", color="black", weight=3]; 7091[label="signumReal1 (Pos Zero) (EQ == GT)",fontsize=16,color="black",shape="triangle"];7091 -> 7143[label="",style="solid", color="black", weight=3]; 7092[label="signumReal1 (Pos Zero) (GT == GT)",fontsize=16,color="black",shape="box"];7092 -> 7144[label="",style="solid", color="black", weight=3]; 7093 -> 7091[label="",style="dashed", color="red", weight=0]; 7093[label="signumReal1 (Pos Zero) (EQ == GT)",fontsize=16,color="magenta"];4463[label="primRemInt (Pos vuz1560) (Pos vuz1550)",fontsize=16,color="burlywood",shape="box"];8565[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4463 -> 8565[label="",style="solid", color="burlywood", weight=9]; 8565 -> 4738[label="",style="solid", color="burlywood", weight=3]; 8566[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4463 -> 8566[label="",style="solid", color="burlywood", weight=9]; 8566 -> 4739[label="",style="solid", color="burlywood", weight=3]; 4464[label="primRemInt (Pos vuz1560) (Neg vuz1550)",fontsize=16,color="burlywood",shape="box"];8567[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4464 -> 8567[label="",style="solid", color="burlywood", weight=9]; 8567 -> 4740[label="",style="solid", color="burlywood", weight=3]; 8568[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4464 -> 8568[label="",style="solid", color="burlywood", weight=9]; 8568 -> 4741[label="",style="solid", color="burlywood", weight=3]; 4465[label="primRemInt (Neg vuz1560) (Pos vuz1550)",fontsize=16,color="burlywood",shape="box"];8569[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4465 -> 8569[label="",style="solid", color="burlywood", weight=9]; 8569 -> 4742[label="",style="solid", color="burlywood", weight=3]; 8570[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4465 -> 8570[label="",style="solid", color="burlywood", weight=9]; 8570 -> 4743[label="",style="solid", color="burlywood", weight=3]; 4466[label="primRemInt (Neg vuz1560) (Neg vuz1550)",fontsize=16,color="burlywood",shape="box"];8571[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4466 -> 8571[label="",style="solid", color="burlywood", weight=9]; 8571 -> 4744[label="",style="solid", color="burlywood", weight=3]; 8572[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4466 -> 8572[label="",style="solid", color="burlywood", weight=9]; 8572 -> 4745[label="",style="solid", color="burlywood", weight=3]; 7805[label="vuz4520",fontsize=16,color="green",shape="box"];7806[label="vuz4530",fontsize=16,color="green",shape="box"];7102[label="Pos Zero",fontsize=16,color="green",shape="box"];7103[label="signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) vuz427 == GT)",fontsize=16,color="black",shape="box"];7103 -> 7152[label="",style="solid", color="black", weight=3]; 7322[label="signumReal1 (Neg Zero) (LT == GT)",fontsize=16,color="black",shape="box"];7322 -> 7338[label="",style="solid", color="black", weight=3]; 7323[label="signumReal1 (Neg Zero) (EQ == GT)",fontsize=16,color="black",shape="triangle"];7323 -> 7339[label="",style="solid", color="black", weight=3]; 7324[label="signumReal1 (Neg Zero) (primCmpNat (Succ vuz43100) Zero == GT)",fontsize=16,color="black",shape="box"];7324 -> 7340[label="",style="solid", color="black", weight=3]; 7325 -> 7323[label="",style="dashed", color="red", weight=0]; 7325[label="signumReal1 (Neg Zero) (EQ == GT)",fontsize=16,color="magenta"];1837[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1837 -> 2012[label="",style="solid", color="black", weight=3]; 1838[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1838 -> 2013[label="",style="solid", color="black", weight=3]; 4829[label="Integer vuz268 `quot` gcd0Gcd'2 (abs (Integer vuz298)) (abs (Integer vuz269))",fontsize=16,color="black",shape="box"];4829 -> 4833[label="",style="solid", color="black", weight=3]; 6276[label="Integer vuz268 `quot` gcd0 (Integer vuz299) (Integer vuz269)",fontsize=16,color="black",shape="box"];6276 -> 6976[label="",style="solid", color="black", weight=3]; 6277[label="Integer vuz268 `quot` error []",fontsize=16,color="black",shape="triangle"];6277 -> 6977[label="",style="solid", color="black", weight=3]; 4720 -> 2647[label="",style="dashed", color="red", weight=0]; 4720[label="primEqInt (primMulInt vuz8 (Neg (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];4720 -> 4773[label="",style="dashed", color="magenta", weight=3]; 4720 -> 4774[label="",style="dashed", color="magenta", weight=3]; 4721[label="Integer vuz268 `quot` gcd0 (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="black",shape="box"];4721 -> 4775[label="",style="solid", color="black", weight=3]; 4722 -> 6053[label="",style="dashed", color="red", weight=0]; 4722[label="Integer vuz268 `quot` gcd1 (Integer vuz269 == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="magenta"];4722 -> 6098[label="",style="dashed", color="magenta", weight=3]; 4722 -> 6099[label="",style="dashed", color="magenta", weight=3]; 4808[label="Pos Zero",fontsize=16,color="green",shape="box"];4809[label="Pos Zero",fontsize=16,color="green",shape="box"];4810[label="Pos Zero",fontsize=16,color="green",shape="box"];4811[label="Neg Zero",fontsize=16,color="green",shape="box"];4812[label="Pos Zero",fontsize=16,color="green",shape="box"];4813[label="Pos Zero",fontsize=16,color="green",shape="box"];1853[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * Integer (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Neg (Succ Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1853 -> 2030[label="",style="solid", color="black", weight=3]; 4814[label="Pos Zero",fontsize=16,color="green",shape="box"];4815[label="Neg Zero",fontsize=16,color="green",shape="box"];4816[label="Neg Zero",fontsize=16,color="green",shape="box"];4817[label="Neg Zero",fontsize=16,color="green",shape="box"];4818[label="Neg Zero",fontsize=16,color="green",shape="box"];4819[label="Neg Zero",fontsize=16,color="green",shape="box"];4276[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos (Succ vuz196)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal2 (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];4276 -> 4748[label="",style="solid", color="black", weight=3]; 4277 -> 4749[label="",style="dashed", color="red", weight=0]; 4277[label="Integer (Pos vuz209) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4277 -> 4750[label="",style="dashed", color="magenta", weight=3]; 4278[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos (Succ vuz204)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal2 (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];4278 -> 4777[label="",style="solid", color="black", weight=3]; 4279 -> 4778[label="",style="dashed", color="red", weight=0]; 4279[label="Integer (Neg vuz213) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4279 -> 4779[label="",style="dashed", color="magenta", weight=3]; 1961[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1961 -> 2271[label="",style="solid", color="black", weight=3]; 1962[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1962 -> 2272[label="",style="solid", color="black", weight=3]; 1963[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1963 -> 2273[label="",style="solid", color="black", weight=3]; 1964[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1964 -> 2274[label="",style="solid", color="black", weight=3]; 4723[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4723 -> 4786[label="",style="solid", color="black", weight=3]; 4724[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];4725[label="Integer (Neg vuz216) `quot` gcd1 False (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4725 -> 4787[label="",style="solid", color="black", weight=3]; 4726[label="Integer (Neg vuz216) `quot` gcd1 True (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4726 -> 4788[label="",style="solid", color="black", weight=3]; 4727[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4727 -> 4789[label="",style="solid", color="black", weight=3]; 4728[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];4729[label="Integer (Pos vuz226) `quot` gcd1 False (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4729 -> 4790[label="",style="solid", color="black", weight=3]; 4730[label="Integer (Pos vuz226) `quot` gcd1 True (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4730 -> 4791[label="",style="solid", color="black", weight=3]; 1982[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1982 -> 2304[label="",style="solid", color="black", weight=3]; 1983[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1983 -> 2305[label="",style="solid", color="black", weight=3]; 1984[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1984 -> 2306[label="",style="solid", color="black", weight=3]; 1985[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1985 -> 2307[label="",style="solid", color="black", weight=3]; 7699[label="vuz900",fontsize=16,color="green",shape="box"];7700[label="vuz4140",fontsize=16,color="green",shape="box"];7701[label="Succ vuz900",fontsize=16,color="green",shape="box"];7698[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat vuz458 vuz459 == GT)",fontsize=16,color="burlywood",shape="triangle"];8573[label="vuz458/Succ vuz4580",fontsize=10,color="white",style="solid",shape="box"];7698 -> 8573[label="",style="solid", color="burlywood", weight=9]; 8573 -> 7722[label="",style="solid", color="burlywood", weight=3]; 8574[label="vuz458/Zero",fontsize=10,color="white",style="solid",shape="box"];7698 -> 8574[label="",style="solid", color="burlywood", weight=9]; 8574 -> 7723[label="",style="solid", color="burlywood", weight=3]; 7141[label="signumReal1 (Pos (Succ vuz900)) True",fontsize=16,color="black",shape="box"];7141 -> 7179[label="",style="solid", color="black", weight=3]; 7142[label="signumReal1 (Pos Zero) (LT == GT)",fontsize=16,color="black",shape="box"];7142 -> 7180[label="",style="solid", color="black", weight=3]; 7143[label="signumReal1 (Pos Zero) False",fontsize=16,color="black",shape="triangle"];7143 -> 7181[label="",style="solid", color="black", weight=3]; 7144[label="signumReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];7144 -> 7182[label="",style="solid", color="black", weight=3]; 4738[label="primRemInt (Pos vuz1560) (Pos (Succ vuz15500))",fontsize=16,color="black",shape="box"];4738 -> 4842[label="",style="solid", color="black", weight=3]; 4739[label="primRemInt (Pos vuz1560) (Pos Zero)",fontsize=16,color="black",shape="box"];4739 -> 4843[label="",style="solid", color="black", weight=3]; 4740[label="primRemInt (Pos vuz1560) (Neg (Succ vuz15500))",fontsize=16,color="black",shape="box"];4740 -> 4844[label="",style="solid", color="black", weight=3]; 4741[label="primRemInt (Pos vuz1560) (Neg Zero)",fontsize=16,color="black",shape="box"];4741 -> 4845[label="",style="solid", color="black", weight=3]; 4742[label="primRemInt (Neg vuz1560) (Pos (Succ vuz15500))",fontsize=16,color="black",shape="box"];4742 -> 4846[label="",style="solid", color="black", weight=3]; 4743[label="primRemInt (Neg vuz1560) (Pos Zero)",fontsize=16,color="black",shape="box"];4743 -> 4847[label="",style="solid", color="black", weight=3]; 4744[label="primRemInt (Neg vuz1560) (Neg (Succ vuz15500))",fontsize=16,color="black",shape="box"];4744 -> 4848[label="",style="solid", color="black", weight=3]; 4745[label="primRemInt (Neg vuz1560) (Neg Zero)",fontsize=16,color="black",shape="box"];4745 -> 4849[label="",style="solid", color="black", weight=3]; 7152[label="signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) vuz427 == GT)",fontsize=16,color="burlywood",shape="box"];8575[label="vuz427/Pos vuz4270",fontsize=10,color="white",style="solid",shape="box"];7152 -> 8575[label="",style="solid", color="burlywood", weight=9]; 8575 -> 7190[label="",style="solid", color="burlywood", weight=3]; 8576[label="vuz427/Neg vuz4270",fontsize=10,color="white",style="solid",shape="box"];7152 -> 8576[label="",style="solid", color="burlywood", weight=9]; 8576 -> 7191[label="",style="solid", color="burlywood", weight=3]; 7338[label="signumReal1 (Neg Zero) False",fontsize=16,color="black",shape="triangle"];7338 -> 7344[label="",style="solid", color="black", weight=3]; 7339 -> 7338[label="",style="dashed", color="red", weight=0]; 7339[label="signumReal1 (Neg Zero) False",fontsize=16,color="magenta"];7340[label="signumReal1 (Neg Zero) (GT == GT)",fontsize=16,color="black",shape="box"];7340 -> 7345[label="",style="solid", color="black", weight=3]; 2012 -> 5797[label="",style="dashed", color="red", weight=0]; 2012[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat vuz80 (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];2012 -> 5806[label="",style="dashed", color="magenta", weight=3]; 2012 -> 5807[label="",style="dashed", color="magenta", weight=3]; 2013 -> 5931[label="",style="dashed", color="red", weight=0]; 2013[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat vuz80 (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];2013 -> 5940[label="",style="dashed", color="magenta", weight=3]; 2013 -> 5941[label="",style="dashed", color="magenta", weight=3]; 4833[label="Integer vuz268 `quot` gcd0Gcd'1 (abs (Integer vuz269) == fromInt (Pos Zero)) (abs (Integer vuz298)) (abs (Integer vuz269))",fontsize=16,color="black",shape="box"];4833 -> 5323[label="",style="solid", color="black", weight=3]; 6976 -> 4807[label="",style="dashed", color="red", weight=0]; 6976[label="Integer vuz268 `quot` gcd0Gcd' (abs (Integer vuz299)) (abs (Integer vuz269))",fontsize=16,color="magenta"];6976 -> 7032[label="",style="dashed", color="magenta", weight=3]; 6977[label="error []",fontsize=16,color="red",shape="box"];4773[label="Pos Zero",fontsize=16,color="green",shape="box"];4774[label="primMulInt vuz8 (Neg (Succ Zero))",fontsize=16,color="burlywood",shape="triangle"];8577[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];4774 -> 8577[label="",style="solid", color="burlywood", weight=9]; 8577 -> 4805[label="",style="solid", color="burlywood", weight=3]; 8578[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];4774 -> 8578[label="",style="solid", color="burlywood", weight=9]; 8578 -> 4806[label="",style="solid", color="burlywood", weight=3]; 4775 -> 4807[label="",style="dashed", color="red", weight=0]; 4775[label="Integer vuz268 `quot` gcd0Gcd' (abs (Integer (primMulInt vuz8 (Neg (Succ Zero))))) (abs (Integer vuz269))",fontsize=16,color="magenta"];4775 -> 4826[label="",style="dashed", color="magenta", weight=3]; 6098 -> 4774[label="",style="dashed", color="red", weight=0]; 6098[label="primMulInt vuz8 (Neg (Succ Zero))",fontsize=16,color="magenta"];6099[label="Integer vuz269 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];6099 -> 6202[label="",style="solid", color="black", weight=3]; 2030 -> 4467[label="",style="dashed", color="red", weight=0]; 2030[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="magenta"];2030 -> 4482[label="",style="dashed", color="magenta", weight=3]; 2030 -> 4483[label="",style="dashed", color="magenta", weight=3]; 2030 -> 4484[label="",style="dashed", color="magenta", weight=3]; 4748[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz196)))) (abs (Integer (Pos (Succ vuz196))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (abs (Integer (Pos (Succ vuz196)))) (abs (Integer (Pos (Succ vuz196))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4748 -> 4857[label="",style="solid", color="black", weight=3]; 4750 -> 47[label="",style="dashed", color="red", weight=0]; 4750[label="absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4750 -> 4858[label="",style="dashed", color="magenta", weight=3]; 4749[label="Integer (Pos vuz209) `quot` gcd1 vuz296 (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8579[label="vuz296/False",fontsize=10,color="white",style="solid",shape="box"];4749 -> 8579[label="",style="solid", color="burlywood", weight=9]; 8579 -> 4859[label="",style="solid", color="burlywood", weight=3]; 8580[label="vuz296/True",fontsize=10,color="white",style="solid",shape="box"];4749 -> 8580[label="",style="solid", color="burlywood", weight=9]; 8580 -> 4860[label="",style="solid", color="burlywood", weight=3]; 4777[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz204)))) (abs (Integer (Pos (Succ vuz204))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (abs (Integer (Pos (Succ vuz204)))) (abs (Integer (Pos (Succ vuz204))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4777 -> 4861[label="",style="solid", color="black", weight=3]; 4779 -> 47[label="",style="dashed", color="red", weight=0]; 4779[label="absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4779 -> 4862[label="",style="dashed", color="magenta", weight=3]; 4778[label="Integer (Neg vuz213) `quot` gcd1 vuz297 (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8581[label="vuz297/False",fontsize=10,color="white",style="solid",shape="box"];4778 -> 8581[label="",style="solid", color="burlywood", weight=9]; 8581 -> 4863[label="",style="solid", color="burlywood", weight=3]; 8582[label="vuz297/True",fontsize=10,color="white",style="solid",shape="box"];4778 -> 8582[label="",style="solid", color="burlywood", weight=9]; 8582 -> 4864[label="",style="solid", color="burlywood", weight=3]; 2271[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2271 -> 3588[label="",style="solid", color="black", weight=3]; 2272[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2272 -> 3589[label="",style="solid", color="black", weight=3]; 2273[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2273 -> 3590[label="",style="solid", color="black", weight=3]; 2274[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2274 -> 3591[label="",style="solid", color="black", weight=3]; 4786[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4786 -> 4865[label="",style="solid", color="black", weight=3]; 4787[label="Integer (Neg vuz216) `quot` gcd0 (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4787 -> 4866[label="",style="solid", color="black", weight=3]; 4788[label="Integer (Neg vuz216) `quot` error []",fontsize=16,color="black",shape="box"];4788 -> 4867[label="",style="solid", color="black", weight=3]; 4789[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4789 -> 4868[label="",style="solid", color="black", weight=3]; 4790[label="Integer (Pos vuz226) `quot` gcd0 (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4790 -> 4869[label="",style="solid", color="black", weight=3]; 4791[label="Integer (Pos vuz226) `quot` error []",fontsize=16,color="black",shape="box"];4791 -> 4870[label="",style="solid", color="black", weight=3]; 2304[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2304 -> 3785[label="",style="solid", color="black", weight=3]; 2305[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2305 -> 3786[label="",style="solid", color="black", weight=3]; 2306[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2306 -> 3787[label="",style="solid", color="black", weight=3]; 2307[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2307 -> 3788[label="",style="solid", color="black", weight=3]; 7722[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat (Succ vuz4580) vuz459 == GT)",fontsize=16,color="burlywood",shape="box"];8583[label="vuz459/Succ vuz4590",fontsize=10,color="white",style="solid",shape="box"];7722 -> 8583[label="",style="solid", color="burlywood", weight=9]; 8583 -> 7750[label="",style="solid", color="burlywood", weight=3]; 8584[label="vuz459/Zero",fontsize=10,color="white",style="solid",shape="box"];7722 -> 8584[label="",style="solid", color="burlywood", weight=9]; 8584 -> 7751[label="",style="solid", color="burlywood", weight=3]; 7723[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat Zero vuz459 == GT)",fontsize=16,color="burlywood",shape="box"];8585[label="vuz459/Succ vuz4590",fontsize=10,color="white",style="solid",shape="box"];7723 -> 8585[label="",style="solid", color="burlywood", weight=9]; 8585 -> 7752[label="",style="solid", color="burlywood", weight=3]; 8586[label="vuz459/Zero",fontsize=10,color="white",style="solid",shape="box"];7723 -> 8586[label="",style="solid", color="burlywood", weight=9]; 8586 -> 7753[label="",style="solid", color="burlywood", weight=3]; 7179 -> 2609[label="",style="dashed", color="red", weight=0]; 7179[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7179 -> 7211[label="",style="dashed", color="magenta", weight=3]; 7180 -> 7143[label="",style="dashed", color="red", weight=0]; 7180[label="signumReal1 (Pos Zero) False",fontsize=16,color="magenta"];7181[label="signumReal0 (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];7181 -> 7212[label="",style="solid", color="black", weight=3]; 7182 -> 2609[label="",style="dashed", color="red", weight=0]; 7182[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7182 -> 7213[label="",style="dashed", color="magenta", weight=3]; 4842[label="Pos (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4842 -> 5923[label="",style="dashed", color="green", weight=3]; 4843 -> 3082[label="",style="dashed", color="red", weight=0]; 4843[label="error []",fontsize=16,color="magenta"];4844[label="Pos (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4844 -> 5924[label="",style="dashed", color="green", weight=3]; 4845 -> 3082[label="",style="dashed", color="red", weight=0]; 4845[label="error []",fontsize=16,color="magenta"];4846[label="Neg (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4846 -> 5925[label="",style="dashed", color="green", weight=3]; 4847 -> 3082[label="",style="dashed", color="red", weight=0]; 4847[label="error []",fontsize=16,color="magenta"];4848[label="Neg (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4848 -> 5926[label="",style="dashed", color="green", weight=3]; 4849 -> 3082[label="",style="dashed", color="red", weight=0]; 4849[label="error []",fontsize=16,color="magenta"];7190[label="signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos vuz4270) == GT)",fontsize=16,color="black",shape="box"];7190 -> 7222[label="",style="solid", color="black", weight=3]; 7191[label="signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Neg vuz4270) == GT)",fontsize=16,color="black",shape="box"];7191 -> 7223[label="",style="solid", color="black", weight=3]; 7344[label="signumReal0 (Neg Zero) otherwise",fontsize=16,color="black",shape="box"];7344 -> 7349[label="",style="solid", color="black", weight=3]; 7345[label="signumReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];7345 -> 7350[label="",style="solid", color="black", weight=3]; 5806 -> 2647[label="",style="dashed", color="red", weight=0]; 5806[label="primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];5806 -> 5927[label="",style="dashed", color="magenta", weight=3]; 5806 -> 5928[label="",style="dashed", color="magenta", weight=3]; 5807 -> 4436[label="",style="dashed", color="red", weight=0]; 5807[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5807 -> 5929[label="",style="dashed", color="magenta", weight=3]; 5807 -> 5930[label="",style="dashed", color="magenta", weight=3]; 5940 -> 4436[label="",style="dashed", color="red", weight=0]; 5940[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5940 -> 6040[label="",style="dashed", color="magenta", weight=3]; 5940 -> 6041[label="",style="dashed", color="magenta", weight=3]; 5941 -> 2647[label="",style="dashed", color="red", weight=0]; 5941[label="primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];5941 -> 6042[label="",style="dashed", color="magenta", weight=3]; 5941 -> 6043[label="",style="dashed", color="magenta", weight=3]; 5323[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal (Integer vuz269) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal (Integer vuz269))",fontsize=16,color="black",shape="box"];5323 -> 6203[label="",style="solid", color="black", weight=3]; 7032[label="vuz299",fontsize=16,color="green",shape="box"];4805[label="primMulInt (Pos vuz80) (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];4805 -> 4884[label="",style="solid", color="black", weight=3]; 4806[label="primMulInt (Neg vuz80) (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];4806 -> 4885[label="",style="solid", color="black", weight=3]; 4826 -> 4774[label="",style="dashed", color="red", weight=0]; 4826[label="primMulInt vuz8 (Neg (Succ Zero))",fontsize=16,color="magenta"];6202[label="Integer vuz269 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];6202 -> 6284[label="",style="solid", color="black", weight=3]; 4482 -> 4468[label="",style="dashed", color="red", weight=0]; 4482[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4483 -> 2686[label="",style="dashed", color="red", weight=0]; 4483[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];4483 -> 4887[label="",style="dashed", color="magenta", weight=3]; 4484 -> 2686[label="",style="dashed", color="red", weight=0]; 4484[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];4484 -> 4888[label="",style="dashed", color="magenta", weight=3]; 4857[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz196)))) (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (abs (Integer (Pos (Succ vuz196)))) (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4857 -> 5773[label="",style="solid", color="black", weight=3]; 4858[label="Pos (Succ vuz196)",fontsize=16,color="green",shape="box"];4859[label="Integer (Pos vuz209) `quot` gcd1 False (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4859 -> 5774[label="",style="solid", color="black", weight=3]; 4860[label="Integer (Pos vuz209) `quot` gcd1 True (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4860 -> 5775[label="",style="solid", color="black", weight=3]; 4861[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz204)))) (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (abs (Integer (Pos (Succ vuz204)))) (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4861 -> 5776[label="",style="solid", color="black", weight=3]; 4862[label="Pos (Succ vuz204)",fontsize=16,color="green",shape="box"];4863[label="Integer (Neg vuz213) `quot` gcd1 False (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4863 -> 5777[label="",style="solid", color="black", weight=3]; 4864[label="Integer (Neg vuz213) `quot` gcd1 True (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4864 -> 5778[label="",style="solid", color="black", weight=3]; 3588[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3588 -> 5779[label="",style="solid", color="black", weight=3]; 3589[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3589 -> 5780[label="",style="solid", color="black", weight=3]; 3590[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3590 -> 5781[label="",style="solid", color="black", weight=3]; 3591[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3591 -> 5782[label="",style="solid", color="black", weight=3]; 4865[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4865 -> 5783[label="",style="solid", color="black", weight=3]; 4866[label="Integer (Neg vuz216) `quot` gcd0Gcd' (abs (Integer (Neg vuz217))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];4866 -> 5784[label="",style="solid", color="black", weight=3]; 4867[label="error []",fontsize=16,color="red",shape="box"];4868[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4868 -> 5785[label="",style="solid", color="black", weight=3]; 4869[label="Integer (Pos vuz226) `quot` gcd0Gcd' (abs (Integer (Pos vuz227))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];4869 -> 5786[label="",style="solid", color="black", weight=3]; 4870[label="error []",fontsize=16,color="red",shape="box"];3785[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3785 -> 5787[label="",style="solid", color="black", weight=3]; 3786[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3786 -> 5788[label="",style="solid", color="black", weight=3]; 3787[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3787 -> 5789[label="",style="solid", color="black", weight=3]; 3788[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3788 -> 5790[label="",style="solid", color="black", weight=3]; 7750[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat (Succ vuz4580) (Succ vuz4590) == GT)",fontsize=16,color="black",shape="box"];7750 -> 7780[label="",style="solid", color="black", weight=3]; 7751[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat (Succ vuz4580) Zero == GT)",fontsize=16,color="black",shape="box"];7751 -> 7781[label="",style="solid", color="black", weight=3]; 7752[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat Zero (Succ vuz4590) == GT)",fontsize=16,color="black",shape="box"];7752 -> 7782[label="",style="solid", color="black", weight=3]; 7753[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];7753 -> 7783[label="",style="solid", color="black", weight=3]; 7211[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7212[label="signumReal0 (Pos Zero) True",fontsize=16,color="black",shape="box"];7212 -> 7251[label="",style="solid", color="black", weight=3]; 7213[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];5923[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="burlywood",shape="triangle"];8587[label="vuz1560/Succ vuz15600",fontsize=10,color="white",style="solid",shape="box"];5923 -> 8587[label="",style="solid", color="burlywood", weight=9]; 8587 -> 6044[label="",style="solid", color="burlywood", weight=3]; 8588[label="vuz1560/Zero",fontsize=10,color="white",style="solid",shape="box"];5923 -> 8588[label="",style="solid", color="burlywood", weight=9]; 8588 -> 6045[label="",style="solid", color="burlywood", weight=3]; 5924 -> 5923[label="",style="dashed", color="red", weight=0]; 5924[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="magenta"];5924 -> 6046[label="",style="dashed", color="magenta", weight=3]; 5925 -> 5923[label="",style="dashed", color="red", weight=0]; 5925[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="magenta"];5925 -> 6047[label="",style="dashed", color="magenta", weight=3]; 5926 -> 5923[label="",style="dashed", color="red", weight=0]; 5926[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="magenta"];5926 -> 6048[label="",style="dashed", color="magenta", weight=3]; 5926 -> 6049[label="",style="dashed", color="magenta", weight=3]; 7222[label="signumReal1 (Neg (Succ vuz900)) (LT == GT)",fontsize=16,color="black",shape="triangle"];7222 -> 7264[label="",style="solid", color="black", weight=3]; 7223 -> 7812[label="",style="dashed", color="red", weight=0]; 7223[label="signumReal1 (Neg (Succ vuz900)) (primCmpNat vuz4270 (Succ vuz900) == GT)",fontsize=16,color="magenta"];7223 -> 7813[label="",style="dashed", color="magenta", weight=3]; 7223 -> 7814[label="",style="dashed", color="magenta", weight=3]; 7223 -> 7815[label="",style="dashed", color="magenta", weight=3]; 7349[label="signumReal0 (Neg Zero) True",fontsize=16,color="black",shape="box"];7349 -> 7353[label="",style="solid", color="black", weight=3]; 7350 -> 2609[label="",style="dashed", color="red", weight=0]; 7350[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7350 -> 7354[label="",style="dashed", color="magenta", weight=3]; 5927[label="Pos Zero",fontsize=16,color="green",shape="box"];5928[label="Pos (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];5928 -> 6050[label="",style="dashed", color="green", weight=3]; 5929[label="Succ Zero",fontsize=16,color="green",shape="box"];5930[label="vuz80",fontsize=16,color="green",shape="box"];6040[label="Succ Zero",fontsize=16,color="green",shape="box"];6041[label="vuz80",fontsize=16,color="green",shape="box"];6042[label="Pos Zero",fontsize=16,color="green",shape="box"];6043[label="Neg (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];6043 -> 6204[label="",style="dashed", color="green", weight=3]; 6203[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal2 (Integer vuz269) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal2 (Integer vuz269))",fontsize=16,color="black",shape="box"];6203 -> 6285[label="",style="solid", color="black", weight=3]; 4884[label="Neg (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];4884 -> 6051[label="",style="dashed", color="green", weight=3]; 4885[label="Pos (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];4885 -> 6052[label="",style="dashed", color="green", weight=3]; 6284 -> 2647[label="",style="dashed", color="red", weight=0]; 6284[label="primEqInt vuz269 (Pos Zero)",fontsize=16,color="magenta"];6284 -> 6978[label="",style="dashed", color="magenta", weight=3]; 6284 -> 6979[label="",style="dashed", color="magenta", weight=3]; 4887[label="vuz900",fontsize=16,color="green",shape="box"];4888[label="vuz900",fontsize=16,color="green",shape="box"];5773[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz196)))) (not (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (abs (Integer (Pos (Succ vuz196)))) (not (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5773 -> 6980[label="",style="solid", color="black", weight=3]; 5774[label="Integer (Pos vuz209) `quot` gcd0 (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5774 -> 6981[label="",style="solid", color="black", weight=3]; 5775 -> 6277[label="",style="dashed", color="red", weight=0]; 5775[label="Integer (Pos vuz209) `quot` error []",fontsize=16,color="magenta"];5775 -> 6982[label="",style="dashed", color="magenta", weight=3]; 5776[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz204)))) (not (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (abs (Integer (Pos (Succ vuz204)))) (not (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5776 -> 6983[label="",style="solid", color="black", weight=3]; 5777[label="Integer (Neg vuz213) `quot` gcd0 (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5777 -> 6984[label="",style="solid", color="black", weight=3]; 5778 -> 6277[label="",style="dashed", color="red", weight=0]; 5778[label="Integer (Neg vuz213) `quot` error []",fontsize=16,color="magenta"];5778 -> 6985[label="",style="dashed", color="magenta", weight=3]; 5779[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5779 -> 6986[label="",style="solid", color="black", weight=3]; 5780 -> 1961[label="",style="dashed", color="red", weight=0]; 5780[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];5781[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5781 -> 6987[label="",style="solid", color="black", weight=3]; 5782 -> 1963[label="",style="dashed", color="red", weight=0]; 5782[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];5783[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5783 -> 6988[label="",style="solid", color="black", weight=3]; 5784[label="Integer (Neg vuz216) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz217))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];5784 -> 6989[label="",style="solid", color="black", weight=3]; 5785[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5785 -> 6990[label="",style="solid", color="black", weight=3]; 5786[label="Integer (Pos vuz226) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz227))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];5786 -> 6991[label="",style="solid", color="black", weight=3]; 5787[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5787 -> 6992[label="",style="solid", color="black", weight=3]; 5788 -> 1982[label="",style="dashed", color="red", weight=0]; 5788[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];5789[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5789 -> 6993[label="",style="solid", color="black", weight=3]; 5790 -> 1984[label="",style="dashed", color="red", weight=0]; 5790[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7780 -> 7698[label="",style="dashed", color="red", weight=0]; 7780[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat vuz4580 vuz4590 == GT)",fontsize=16,color="magenta"];7780 -> 7807[label="",style="dashed", color="magenta", weight=3]; 7780 -> 7808[label="",style="dashed", color="magenta", weight=3]; 7781[label="signumReal1 (Pos (Succ vuz457)) (GT == GT)",fontsize=16,color="black",shape="box"];7781 -> 7809[label="",style="solid", color="black", weight=3]; 7782[label="signumReal1 (Pos (Succ vuz457)) (LT == GT)",fontsize=16,color="black",shape="box"];7782 -> 7810[label="",style="solid", color="black", weight=3]; 7783[label="signumReal1 (Pos (Succ vuz457)) (EQ == GT)",fontsize=16,color="black",shape="box"];7783 -> 7811[label="",style="solid", color="black", weight=3]; 7251 -> 2609[label="",style="dashed", color="red", weight=0]; 7251[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7251 -> 7271[label="",style="dashed", color="magenta", weight=3]; 6044[label="primModNatS (Succ vuz15600) (Succ vuz15500)",fontsize=16,color="black",shape="box"];6044 -> 6994[label="",style="solid", color="black", weight=3]; 6045[label="primModNatS Zero (Succ vuz15500)",fontsize=16,color="black",shape="box"];6045 -> 6995[label="",style="solid", color="black", weight=3]; 6046[label="vuz15500",fontsize=16,color="green",shape="box"];6047[label="vuz1560",fontsize=16,color="green",shape="box"];6048[label="vuz15500",fontsize=16,color="green",shape="box"];6049[label="vuz1560",fontsize=16,color="green",shape="box"];7264[label="signumReal1 (Neg (Succ vuz900)) False",fontsize=16,color="black",shape="triangle"];7264 -> 7296[label="",style="solid", color="black", weight=3]; 7813[label="vuz4270",fontsize=16,color="green",shape="box"];7814[label="vuz900",fontsize=16,color="green",shape="box"];7815[label="Succ vuz900",fontsize=16,color="green",shape="box"];7812[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat vuz462 vuz463 == GT)",fontsize=16,color="burlywood",shape="triangle"];8589[label="vuz462/Succ vuz4620",fontsize=10,color="white",style="solid",shape="box"];7812 -> 8589[label="",style="solid", color="burlywood", weight=9]; 8589 -> 7834[label="",style="solid", color="burlywood", weight=3]; 8590[label="vuz462/Zero",fontsize=10,color="white",style="solid",shape="box"];7812 -> 8590[label="",style="solid", color="burlywood", weight=9]; 8590 -> 7835[label="",style="solid", color="burlywood", weight=3]; 7353 -> 2609[label="",style="dashed", color="red", weight=0]; 7353[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7353 -> 7401[label="",style="dashed", color="magenta", weight=3]; 7354[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];6050 -> 4436[label="",style="dashed", color="red", weight=0]; 6050[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6050 -> 6996[label="",style="dashed", color="magenta", weight=3]; 6050 -> 6997[label="",style="dashed", color="magenta", weight=3]; 6204 -> 4436[label="",style="dashed", color="red", weight=0]; 6204[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6204 -> 6998[label="",style="dashed", color="magenta", weight=3]; 6204 -> 6999[label="",style="dashed", color="magenta", weight=3]; 6285[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz269) (Integer vuz269 >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal1 (Integer vuz269) (Integer vuz269 >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];6285 -> 7000[label="",style="solid", color="black", weight=3]; 6051 -> 4436[label="",style="dashed", color="red", weight=0]; 6051[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6051 -> 7001[label="",style="dashed", color="magenta", weight=3]; 6051 -> 7002[label="",style="dashed", color="magenta", weight=3]; 6052 -> 4436[label="",style="dashed", color="red", weight=0]; 6052[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6052 -> 7003[label="",style="dashed", color="magenta", weight=3]; 6052 -> 7004[label="",style="dashed", color="magenta", weight=3]; 6978[label="Pos Zero",fontsize=16,color="green",shape="box"];6979[label="vuz269",fontsize=16,color="green",shape="box"];6980[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos (Succ vuz196)))) (not (compare (absReal (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal (Integer (Pos (Succ vuz196)))) (not (compare (absReal (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6980 -> 7033[label="",style="solid", color="black", weight=3]; 6981[label="Integer (Pos vuz209) `quot` gcd0Gcd' (abs (Integer (Pos vuz210))) (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6981 -> 7034[label="",style="solid", color="black", weight=3]; 6982[label="Pos vuz209",fontsize=16,color="green",shape="box"];6983[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos (Succ vuz204)))) (not (compare (absReal (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal (Integer (Pos (Succ vuz204)))) (not (compare (absReal (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6983 -> 7035[label="",style="solid", color="black", weight=3]; 6984[label="Integer (Neg vuz213) `quot` gcd0Gcd' (abs (Integer (Neg vuz214))) (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6984 -> 7036[label="",style="solid", color="black", weight=3]; 6985[label="Neg vuz213",fontsize=16,color="green",shape="box"];6986[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6986 -> 7037[label="",style="solid", color="black", weight=3]; 6987[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6987 -> 7038[label="",style="solid", color="black", weight=3]; 6988[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6988 -> 7039[label="",style="solid", color="black", weight=3]; 6989[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6989 -> 7040[label="",style="solid", color="black", weight=3]; 6990[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6990 -> 7041[label="",style="solid", color="black", weight=3]; 6991[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6991 -> 7042[label="",style="solid", color="black", weight=3]; 6992[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6992 -> 7043[label="",style="solid", color="black", weight=3]; 6993[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6993 -> 7044[label="",style="solid", color="black", weight=3]; 7807[label="vuz4590",fontsize=16,color="green",shape="box"];7808[label="vuz4580",fontsize=16,color="green",shape="box"];7809[label="signumReal1 (Pos (Succ vuz457)) True",fontsize=16,color="black",shape="box"];7809 -> 7836[label="",style="solid", color="black", weight=3]; 7810[label="signumReal1 (Pos (Succ vuz457)) False",fontsize=16,color="black",shape="triangle"];7810 -> 7837[label="",style="solid", color="black", weight=3]; 7811 -> 7810[label="",style="dashed", color="red", weight=0]; 7811[label="signumReal1 (Pos (Succ vuz457)) False",fontsize=16,color="magenta"];7271[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];6994[label="primModNatS0 vuz15600 vuz15500 (primGEqNatS vuz15600 vuz15500)",fontsize=16,color="burlywood",shape="box"];8591[label="vuz15600/Succ vuz156000",fontsize=10,color="white",style="solid",shape="box"];6994 -> 8591[label="",style="solid", color="burlywood", weight=9]; 8591 -> 7045[label="",style="solid", color="burlywood", weight=3]; 8592[label="vuz15600/Zero",fontsize=10,color="white",style="solid",shape="box"];6994 -> 8592[label="",style="solid", color="burlywood", weight=9]; 8592 -> 7046[label="",style="solid", color="burlywood", weight=3]; 6995[label="Zero",fontsize=16,color="green",shape="box"];7296[label="signumReal0 (Neg (Succ vuz900)) otherwise",fontsize=16,color="black",shape="box"];7296 -> 7326[label="",style="solid", color="black", weight=3]; 7834[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat (Succ vuz4620) vuz463 == GT)",fontsize=16,color="burlywood",shape="box"];8593[label="vuz463/Succ vuz4630",fontsize=10,color="white",style="solid",shape="box"];7834 -> 8593[label="",style="solid", color="burlywood", weight=9]; 8593 -> 7843[label="",style="solid", color="burlywood", weight=3]; 8594[label="vuz463/Zero",fontsize=10,color="white",style="solid",shape="box"];7834 -> 8594[label="",style="solid", color="burlywood", weight=9]; 8594 -> 7844[label="",style="solid", color="burlywood", weight=3]; 7835[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat Zero vuz463 == GT)",fontsize=16,color="burlywood",shape="box"];8595[label="vuz463/Succ vuz4630",fontsize=10,color="white",style="solid",shape="box"];7835 -> 8595[label="",style="solid", color="burlywood", weight=9]; 8595 -> 7845[label="",style="solid", color="burlywood", weight=3]; 8596[label="vuz463/Zero",fontsize=10,color="white",style="solid",shape="box"];7835 -> 8596[label="",style="solid", color="burlywood", weight=9]; 8596 -> 7846[label="",style="solid", color="burlywood", weight=3]; 7401[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];6996[label="Succ Zero",fontsize=16,color="green",shape="box"];6997[label="vuz80",fontsize=16,color="green",shape="box"];6998[label="Succ Zero",fontsize=16,color="green",shape="box"];6999[label="vuz80",fontsize=16,color="green",shape="box"];7000[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz269) (compare (Integer vuz269) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal1 (Integer vuz269) (compare (Integer vuz269) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7000 -> 7047[label="",style="solid", color="black", weight=3]; 7001[label="Succ Zero",fontsize=16,color="green",shape="box"];7002[label="vuz80",fontsize=16,color="green",shape="box"];7003[label="Succ Zero",fontsize=16,color="green",shape="box"];7004[label="vuz80",fontsize=16,color="green",shape="box"];7033[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos (Succ vuz196)))) (not (compare (absReal2 (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal2 (Integer (Pos (Succ vuz196)))) (not (compare (absReal2 (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7033 -> 7104[label="",style="solid", color="black", weight=3]; 7034[label="Integer (Pos vuz209) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz210))) (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7034 -> 7105[label="",style="solid", color="black", weight=3]; 7035[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos (Succ vuz204)))) (not (compare (absReal2 (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal2 (Integer (Pos (Succ vuz204)))) (not (compare (absReal2 (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7035 -> 7106[label="",style="solid", color="black", weight=3]; 7036[label="Integer (Neg vuz213) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz214))) (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7036 -> 7107[label="",style="solid", color="black", weight=3]; 7037[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7037 -> 7108[label="",style="solid", color="black", weight=3]; 7038[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7038 -> 7109[label="",style="solid", color="black", weight=3]; 7039[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7039 -> 7110[label="",style="solid", color="black", weight=3]; 7040[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7040 -> 7111[label="",style="solid", color="black", weight=3]; 7041[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7041 -> 7112[label="",style="solid", color="black", weight=3]; 7042[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7042 -> 7113[label="",style="solid", color="black", weight=3]; 7043[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7043 -> 7114[label="",style="solid", color="black", weight=3]; 7044[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7044 -> 7115[label="",style="solid", color="black", weight=3]; 7836[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8597[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8597[label="",style="solid", color="blue", weight=9]; 8597 -> 7847[label="",style="solid", color="blue", weight=3]; 8598[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8598[label="",style="solid", color="blue", weight=9]; 8598 -> 7848[label="",style="solid", color="blue", weight=3]; 8599[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8599[label="",style="solid", color="blue", weight=9]; 8599 -> 7849[label="",style="solid", color="blue", weight=3]; 8600[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8600[label="",style="solid", color="blue", weight=9]; 8600 -> 7850[label="",style="solid", color="blue", weight=3]; 8601[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8601[label="",style="solid", color="blue", weight=9]; 8601 -> 7851[label="",style="solid", color="blue", weight=3]; 7837[label="signumReal0 (Pos (Succ vuz457)) otherwise",fontsize=16,color="black",shape="box"];7837 -> 7852[label="",style="solid", color="black", weight=3]; 7045[label="primModNatS0 (Succ vuz156000) vuz15500 (primGEqNatS (Succ vuz156000) vuz15500)",fontsize=16,color="burlywood",shape="box"];8602[label="vuz15500/Succ vuz155000",fontsize=10,color="white",style="solid",shape="box"];7045 -> 8602[label="",style="solid", color="burlywood", weight=9]; 8602 -> 7116[label="",style="solid", color="burlywood", weight=3]; 8603[label="vuz15500/Zero",fontsize=10,color="white",style="solid",shape="box"];7045 -> 8603[label="",style="solid", color="burlywood", weight=9]; 8603 -> 7117[label="",style="solid", color="burlywood", weight=3]; 7046[label="primModNatS0 Zero vuz15500 (primGEqNatS Zero vuz15500)",fontsize=16,color="burlywood",shape="box"];8604[label="vuz15500/Succ vuz155000",fontsize=10,color="white",style="solid",shape="box"];7046 -> 8604[label="",style="solid", color="burlywood", weight=9]; 8604 -> 7118[label="",style="solid", color="burlywood", weight=3]; 8605[label="vuz15500/Zero",fontsize=10,color="white",style="solid",shape="box"];7046 -> 8605[label="",style="solid", color="burlywood", weight=9]; 8605 -> 7119[label="",style="solid", color="burlywood", weight=3]; 7326[label="signumReal0 (Neg (Succ vuz900)) True",fontsize=16,color="black",shape="box"];7326 -> 7357[label="",style="solid", color="black", weight=3]; 7843[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat (Succ vuz4620) (Succ vuz4630) == GT)",fontsize=16,color="black",shape="box"];7843 -> 7855[label="",style="solid", color="black", weight=3]; 7844[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat (Succ vuz4620) Zero == GT)",fontsize=16,color="black",shape="box"];7844 -> 7856[label="",style="solid", color="black", weight=3]; 7845[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat Zero (Succ vuz4630) == GT)",fontsize=16,color="black",shape="box"];7845 -> 7857[label="",style="solid", color="black", weight=3]; 7846[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];7846 -> 7858[label="",style="solid", color="black", weight=3]; 7047 -> 7120[label="",style="dashed", color="red", weight=0]; 7047[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7047 -> 7121[label="",style="dashed", color="magenta", weight=3]; 7104[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7104 -> 7153[label="",style="solid", color="black", weight=3]; 7105[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7105 -> 7154[label="",style="solid", color="black", weight=3]; 7106[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7106 -> 7155[label="",style="solid", color="black", weight=3]; 7107[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7107 -> 7156[label="",style="solid", color="black", weight=3]; 7108 -> 7120[label="",style="dashed", color="red", weight=0]; 7108[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7108 -> 7122[label="",style="dashed", color="magenta", weight=3]; 7108 -> 7123[label="",style="dashed", color="magenta", weight=3]; 7108 -> 7124[label="",style="dashed", color="magenta", weight=3]; 7108 -> 7125[label="",style="dashed", color="magenta", weight=3]; 7109 -> 7120[label="",style="dashed", color="red", weight=0]; 7109[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7109 -> 7126[label="",style="dashed", color="magenta", weight=3]; 7109 -> 7127[label="",style="dashed", color="magenta", weight=3]; 7109 -> 7128[label="",style="dashed", color="magenta", weight=3]; 7109 -> 7129[label="",style="dashed", color="magenta", weight=3]; 7110[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7110 -> 7157[label="",style="solid", color="black", weight=3]; 7111[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7111 -> 7158[label="",style="solid", color="black", weight=3]; 7112[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7112 -> 7159[label="",style="solid", color="black", weight=3]; 7113[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7113 -> 7160[label="",style="solid", color="black", weight=3]; 7114 -> 7120[label="",style="dashed", color="red", weight=0]; 7114[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7114 -> 7130[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7131[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7132[label="",style="dashed", color="magenta", weight=3]; 7114 -> 7133[label="",style="dashed", color="magenta", weight=3]; 7115 -> 7120[label="",style="dashed", color="red", weight=0]; 7115[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7115 -> 7134[label="",style="dashed", color="magenta", weight=3]; 7115 -> 7135[label="",style="dashed", color="magenta", weight=3]; 7115 -> 7136[label="",style="dashed", color="magenta", weight=3]; 7115 -> 7137[label="",style="dashed", color="magenta", weight=3]; 7847[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7847 -> 7859[label="",style="solid", color="black", weight=3]; 7848[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7848 -> 7860[label="",style="solid", color="black", weight=3]; 7849[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7849 -> 7861[label="",style="solid", color="black", weight=3]; 7850[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7850 -> 7862[label="",style="solid", color="black", weight=3]; 7851 -> 2609[label="",style="dashed", color="red", weight=0]; 7851[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7851 -> 7863[label="",style="dashed", color="magenta", weight=3]; 7852[label="signumReal0 (Pos (Succ vuz457)) True",fontsize=16,color="black",shape="box"];7852 -> 7864[label="",style="solid", color="black", weight=3]; 7116[label="primModNatS0 (Succ vuz156000) (Succ vuz155000) (primGEqNatS (Succ vuz156000) (Succ vuz155000))",fontsize=16,color="black",shape="box"];7116 -> 7161[label="",style="solid", color="black", weight=3]; 7117[label="primModNatS0 (Succ vuz156000) Zero (primGEqNatS (Succ vuz156000) Zero)",fontsize=16,color="black",shape="box"];7117 -> 7162[label="",style="solid", color="black", weight=3]; 7118[label="primModNatS0 Zero (Succ vuz155000) (primGEqNatS Zero (Succ vuz155000))",fontsize=16,color="black",shape="box"];7118 -> 7163[label="",style="solid", color="black", weight=3]; 7119[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];7119 -> 7164[label="",style="solid", color="black", weight=3]; 7357 -> 2609[label="",style="dashed", color="red", weight=0]; 7357[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7357 -> 7403[label="",style="dashed", color="magenta", weight=3]; 7855 -> 7812[label="",style="dashed", color="red", weight=0]; 7855[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat vuz4620 vuz4630 == GT)",fontsize=16,color="magenta"];7855 -> 7879[label="",style="dashed", color="magenta", weight=3]; 7855 -> 7880[label="",style="dashed", color="magenta", weight=3]; 7856[label="signumReal1 (Neg (Succ vuz461)) (GT == GT)",fontsize=16,color="black",shape="box"];7856 -> 7881[label="",style="solid", color="black", weight=3]; 7857[label="signumReal1 (Neg (Succ vuz461)) (LT == GT)",fontsize=16,color="black",shape="box"];7857 -> 7882[label="",style="solid", color="black", weight=3]; 7858[label="signumReal1 (Neg (Succ vuz461)) (EQ == GT)",fontsize=16,color="black",shape="box"];7858 -> 7883[label="",style="solid", color="black", weight=3]; 7121 -> 47[label="",style="dashed", color="red", weight=0]; 7121[label="absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7121 -> 7165[label="",style="dashed", color="magenta", weight=3]; 7120[label="Integer vuz268 `quot` gcd0Gcd'1 vuz428 (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8606[label="vuz428/False",fontsize=10,color="white",style="solid",shape="box"];7120 -> 8606[label="",style="solid", color="burlywood", weight=9]; 8606 -> 7166[label="",style="solid", color="burlywood", weight=3]; 8607[label="vuz428/True",fontsize=10,color="white",style="solid",shape="box"];7120 -> 8607[label="",style="solid", color="burlywood", weight=9]; 8607 -> 7167[label="",style="solid", color="burlywood", weight=3]; 7153[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7153 -> 7192[label="",style="solid", color="black", weight=3]; 7154[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7154 -> 7193[label="",style="solid", color="black", weight=3]; 7155[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7155 -> 7194[label="",style="solid", color="black", weight=3]; 7156[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7156 -> 7195[label="",style="solid", color="black", weight=3]; 7122[label="Pos Zero",fontsize=16,color="green",shape="box"];7123[label="Pos Zero",fontsize=16,color="green",shape="box"];7124[label="Pos Zero",fontsize=16,color="green",shape="box"];7125 -> 47[label="",style="dashed", color="red", weight=0]; 7125[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7125 -> 7168[label="",style="dashed", color="magenta", weight=3]; 7126[label="Neg Zero",fontsize=16,color="green",shape="box"];7127[label="Pos Zero",fontsize=16,color="green",shape="box"];7128[label="Neg Zero",fontsize=16,color="green",shape="box"];7129 -> 47[label="",style="dashed", color="red", weight=0]; 7129[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7129 -> 7169[label="",style="dashed", color="magenta", weight=3]; 7157[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7157 -> 7196[label="",style="solid", color="black", weight=3]; 7158[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7158 -> 7197[label="",style="solid", color="black", weight=3]; 7159[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7159 -> 7198[label="",style="solid", color="black", weight=3]; 7160[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7160 -> 7199[label="",style="solid", color="black", weight=3]; 7130[label="Pos Zero",fontsize=16,color="green",shape="box"];7131[label="Neg Zero",fontsize=16,color="green",shape="box"];7132[label="Pos Zero",fontsize=16,color="green",shape="box"];7133 -> 47[label="",style="dashed", color="red", weight=0]; 7133[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7133 -> 7170[label="",style="dashed", color="magenta", weight=3]; 7134[label="Neg Zero",fontsize=16,color="green",shape="box"];7135[label="Neg Zero",fontsize=16,color="green",shape="box"];7136[label="Neg Zero",fontsize=16,color="green",shape="box"];7137 -> 47[label="",style="dashed", color="red", weight=0]; 7137[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7137 -> 7171[label="",style="dashed", color="magenta", weight=3]; 7859[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];7859 -> 7884[label="",style="solid", color="black", weight=3]; 7860[label="primIntToDouble (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];7860 -> 7885[label="",style="solid", color="black", weight=3]; 7861[label="primIntToFloat (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];7861 -> 7886[label="",style="solid", color="black", weight=3]; 7862[label="Integer (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7863[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7864[label="fromInt (Neg (Succ Zero))",fontsize=16,color="blue",shape="box"];8608[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8608[label="",style="solid", color="blue", weight=9]; 8608 -> 7887[label="",style="solid", color="blue", weight=3]; 8609[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8609[label="",style="solid", color="blue", weight=9]; 8609 -> 7888[label="",style="solid", color="blue", weight=3]; 8610[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8610[label="",style="solid", color="blue", weight=9]; 8610 -> 7889[label="",style="solid", color="blue", weight=3]; 8611[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8611[label="",style="solid", color="blue", weight=9]; 8611 -> 7890[label="",style="solid", color="blue", weight=3]; 8612[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8612[label="",style="solid", color="blue", weight=9]; 8612 -> 7891[label="",style="solid", color="blue", weight=3]; 7161 -> 8098[label="",style="dashed", color="red", weight=0]; 7161[label="primModNatS0 (Succ vuz156000) (Succ vuz155000) (primGEqNatS vuz156000 vuz155000)",fontsize=16,color="magenta"];7161 -> 8099[label="",style="dashed", color="magenta", weight=3]; 7161 -> 8100[label="",style="dashed", color="magenta", weight=3]; 7161 -> 8101[label="",style="dashed", color="magenta", weight=3]; 7161 -> 8102[label="",style="dashed", color="magenta", weight=3]; 7162[label="primModNatS0 (Succ vuz156000) Zero True",fontsize=16,color="black",shape="box"];7162 -> 7202[label="",style="solid", color="black", weight=3]; 7163[label="primModNatS0 Zero (Succ vuz155000) False",fontsize=16,color="black",shape="box"];7163 -> 7203[label="",style="solid", color="black", weight=3]; 7164[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];7164 -> 7204[label="",style="solid", color="black", weight=3]; 7403[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];7879[label="vuz4620",fontsize=16,color="green",shape="box"];7880[label="vuz4630",fontsize=16,color="green",shape="box"];7881[label="signumReal1 (Neg (Succ vuz461)) True",fontsize=16,color="black",shape="box"];7881 -> 7908[label="",style="solid", color="black", weight=3]; 7882[label="signumReal1 (Neg (Succ vuz461)) False",fontsize=16,color="black",shape="triangle"];7882 -> 7909[label="",style="solid", color="black", weight=3]; 7883 -> 7882[label="",style="dashed", color="red", weight=0]; 7883[label="signumReal1 (Neg (Succ vuz461)) False",fontsize=16,color="magenta"];7165[label="vuz269",fontsize=16,color="green",shape="box"];7166[label="Integer vuz268 `quot` gcd0Gcd'1 False (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7166 -> 7205[label="",style="solid", color="black", weight=3]; 7167[label="Integer vuz268 `quot` gcd0Gcd'1 True (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7167 -> 7206[label="",style="solid", color="black", weight=3]; 7192[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7192 -> 7224[label="",style="solid", color="black", weight=3]; 7193[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal2 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7193 -> 7225[label="",style="solid", color="black", weight=3]; 7194[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7194 -> 7226[label="",style="solid", color="black", weight=3]; 7195[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal2 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7195 -> 7227[label="",style="solid", color="black", weight=3]; 7168[label="Pos Zero",fontsize=16,color="green",shape="box"];7169[label="Pos Zero",fontsize=16,color="green",shape="box"];7196[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7196 -> 7228[label="",style="solid", color="black", weight=3]; 7197[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7197 -> 7229[label="",style="solid", color="black", weight=3]; 7198[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7198 -> 7230[label="",style="solid", color="black", weight=3]; 7199[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7199 -> 7231[label="",style="solid", color="black", weight=3]; 7170[label="Neg Zero",fontsize=16,color="green",shape="box"];7171[label="Neg Zero",fontsize=16,color="green",shape="box"];7884[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7884 -> 7910[label="",style="dashed", color="green", weight=3]; 7884 -> 7911[label="",style="dashed", color="green", weight=3]; 7885[label="Double (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7886[label="Float (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7887[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7887 -> 7912[label="",style="solid", color="black", weight=3]; 7888[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7888 -> 7913[label="",style="solid", color="black", weight=3]; 7889[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7889 -> 7914[label="",style="solid", color="black", weight=3]; 7890[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7890 -> 7915[label="",style="solid", color="black", weight=3]; 7891 -> 2609[label="",style="dashed", color="red", weight=0]; 7891[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7891 -> 7916[label="",style="dashed", color="magenta", weight=3]; 8099[label="vuz155000",fontsize=16,color="green",shape="box"];8100[label="vuz156000",fontsize=16,color="green",shape="box"];8101[label="vuz155000",fontsize=16,color="green",shape="box"];8102[label="vuz156000",fontsize=16,color="green",shape="box"];8098[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS vuz490 vuz491)",fontsize=16,color="burlywood",shape="triangle"];8613[label="vuz490/Succ vuz4900",fontsize=10,color="white",style="solid",shape="box"];8098 -> 8613[label="",style="solid", color="burlywood", weight=9]; 8613 -> 8139[label="",style="solid", color="burlywood", weight=3]; 8614[label="vuz490/Zero",fontsize=10,color="white",style="solid",shape="box"];8098 -> 8614[label="",style="solid", color="burlywood", weight=9]; 8614 -> 8140[label="",style="solid", color="burlywood", weight=3]; 7202 -> 5923[label="",style="dashed", color="red", weight=0]; 7202[label="primModNatS (primMinusNatS (Succ vuz156000) Zero) (Succ Zero)",fontsize=16,color="magenta"];7202 -> 7236[label="",style="dashed", color="magenta", weight=3]; 7202 -> 7237[label="",style="dashed", color="magenta", weight=3]; 7203[label="Succ Zero",fontsize=16,color="green",shape="box"];7204 -> 5923[label="",style="dashed", color="red", weight=0]; 7204[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];7204 -> 7238[label="",style="dashed", color="magenta", weight=3]; 7204 -> 7239[label="",style="dashed", color="magenta", weight=3]; 7908[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8615[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8615[label="",style="solid", color="blue", weight=9]; 8615 -> 7930[label="",style="solid", color="blue", weight=3]; 8616[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8616[label="",style="solid", color="blue", weight=9]; 8616 -> 7931[label="",style="solid", color="blue", weight=3]; 8617[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8617[label="",style="solid", color="blue", weight=9]; 8617 -> 7932[label="",style="solid", color="blue", weight=3]; 8618[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8618[label="",style="solid", color="blue", weight=9]; 8618 -> 7933[label="",style="solid", color="blue", weight=3]; 8619[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8619[label="",style="solid", color="blue", weight=9]; 8619 -> 7934[label="",style="solid", color="blue", weight=3]; 7909[label="signumReal0 (Neg (Succ vuz461)) otherwise",fontsize=16,color="black",shape="box"];7909 -> 7935[label="",style="solid", color="black", weight=3]; 7205[label="Integer vuz268 `quot` gcd0Gcd'0 (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7205 -> 7240[label="",style="solid", color="black", weight=3]; 7206[label="Integer vuz268 `quot` abs (Integer vuz298)",fontsize=16,color="black",shape="box"];7206 -> 7241[label="",style="solid", color="black", weight=3]; 7224[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7224 -> 7278[label="",style="solid", color="black", weight=3]; 7225[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7225 -> 7279[label="",style="solid", color="black", weight=3]; 7226[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7226 -> 7280[label="",style="solid", color="black", weight=3]; 7227[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7227 -> 7281[label="",style="solid", color="black", weight=3]; 7228[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7228 -> 7282[label="",style="solid", color="black", weight=3]; 7229 -> 7110[label="",style="dashed", color="red", weight=0]; 7229[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7230[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7230 -> 7283[label="",style="solid", color="black", weight=3]; 7231 -> 7112[label="",style="dashed", color="red", weight=0]; 7231[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7910[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8620[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];7910 -> 8620[label="",style="solid", color="blue", weight=9]; 8620 -> 7936[label="",style="solid", color="blue", weight=3]; 8621[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7910 -> 8621[label="",style="solid", color="blue", weight=9]; 8621 -> 7937[label="",style="solid", color="blue", weight=3]; 7911[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8622[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7911 -> 8622[label="",style="solid", color="blue", weight=9]; 8622 -> 7938[label="",style="solid", color="blue", weight=3]; 8623[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7911 -> 8623[label="",style="solid", color="blue", weight=9]; 8623 -> 7939[label="",style="solid", color="blue", weight=3]; 7912[label="intToRatio (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];7912 -> 7940[label="",style="solid", color="black", weight=3]; 7913[label="primIntToDouble (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];7913 -> 7941[label="",style="solid", color="black", weight=3]; 7914[label="primIntToFloat (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];7914 -> 7942[label="",style="solid", color="black", weight=3]; 7915[label="Integer (Neg (Succ Zero))",fontsize=16,color="green",shape="box"];7916[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];8139[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS (Succ vuz4900) vuz491)",fontsize=16,color="burlywood",shape="box"];8624[label="vuz491/Succ vuz4910",fontsize=10,color="white",style="solid",shape="box"];8139 -> 8624[label="",style="solid", color="burlywood", weight=9]; 8624 -> 8145[label="",style="solid", color="burlywood", weight=3]; 8625[label="vuz491/Zero",fontsize=10,color="white",style="solid",shape="box"];8139 -> 8625[label="",style="solid", color="burlywood", weight=9]; 8625 -> 8146[label="",style="solid", color="burlywood", weight=3]; 8140[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS Zero vuz491)",fontsize=16,color="burlywood",shape="box"];8626[label="vuz491/Succ vuz4910",fontsize=10,color="white",style="solid",shape="box"];8140 -> 8626[label="",style="solid", color="burlywood", weight=9]; 8626 -> 8147[label="",style="solid", color="burlywood", weight=3]; 8627[label="vuz491/Zero",fontsize=10,color="white",style="solid",shape="box"];8140 -> 8627[label="",style="solid", color="burlywood", weight=9]; 8627 -> 8148[label="",style="solid", color="burlywood", weight=3]; 7236[label="Zero",fontsize=16,color="green",shape="box"];7237 -> 5960[label="",style="dashed", color="red", weight=0]; 7237[label="primMinusNatS (Succ vuz156000) Zero",fontsize=16,color="magenta"];7237 -> 7288[label="",style="dashed", color="magenta", weight=3]; 7238[label="Zero",fontsize=16,color="green",shape="box"];7239 -> 5962[label="",style="dashed", color="red", weight=0]; 7239[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];7930 -> 7847[label="",style="dashed", color="red", weight=0]; 7930[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7931 -> 7848[label="",style="dashed", color="red", weight=0]; 7931[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7932 -> 7849[label="",style="dashed", color="red", weight=0]; 7932[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7933 -> 7850[label="",style="dashed", color="red", weight=0]; 7933[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7934 -> 2609[label="",style="dashed", color="red", weight=0]; 7934[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7934 -> 7949[label="",style="dashed", color="magenta", weight=3]; 7935[label="signumReal0 (Neg (Succ vuz461)) True",fontsize=16,color="black",shape="box"];7935 -> 7950[label="",style="solid", color="black", weight=3]; 7240[label="Integer vuz268 `quot` gcd0Gcd' (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7240 -> 7289[label="",style="solid", color="black", weight=3]; 7241[label="Integer vuz268 `quot` absReal (Integer vuz298)",fontsize=16,color="black",shape="box"];7241 -> 7290[label="",style="solid", color="black", weight=3]; 7278[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7278 -> 7309[label="",style="solid", color="black", weight=3]; 7279[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7279 -> 7310[label="",style="solid", color="black", weight=3]; 7280[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7280 -> 7311[label="",style="solid", color="black", weight=3]; 7281[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7281 -> 7312[label="",style="solid", color="black", weight=3]; 7282[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7282 -> 7313[label="",style="solid", color="black", weight=3]; 7283[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7283 -> 7314[label="",style="solid", color="black", weight=3]; 7936 -> 7850[label="",style="dashed", color="red", weight=0]; 7936[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7937 -> 2609[label="",style="dashed", color="red", weight=0]; 7937[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7937 -> 7951[label="",style="dashed", color="magenta", weight=3]; 7938 -> 7850[label="",style="dashed", color="red", weight=0]; 7938[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7939 -> 2609[label="",style="dashed", color="red", weight=0]; 7939[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7939 -> 7952[label="",style="dashed", color="magenta", weight=3]; 7940[label="fromInt (Neg (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7940 -> 7953[label="",style="dashed", color="green", weight=3]; 7940 -> 7954[label="",style="dashed", color="green", weight=3]; 7941[label="Double (Neg (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7942[label="Float (Neg (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];8145[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS (Succ vuz4900) (Succ vuz4910))",fontsize=16,color="black",shape="box"];8145 -> 8153[label="",style="solid", color="black", weight=3]; 8146[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS (Succ vuz4900) Zero)",fontsize=16,color="black",shape="box"];8146 -> 8154[label="",style="solid", color="black", weight=3]; 8147[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS Zero (Succ vuz4910))",fontsize=16,color="black",shape="box"];8147 -> 8155[label="",style="solid", color="black", weight=3]; 8148[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];8148 -> 8156[label="",style="solid", color="black", weight=3]; 7288[label="vuz156000",fontsize=16,color="green",shape="box"];7949[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7950[label="fromInt (Neg (Succ Zero))",fontsize=16,color="blue",shape="box"];8628[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8628[label="",style="solid", color="blue", weight=9]; 8628 -> 7958[label="",style="solid", color="blue", weight=3]; 8629[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8629[label="",style="solid", color="blue", weight=9]; 8629 -> 7959[label="",style="solid", color="blue", weight=3]; 8630[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8630[label="",style="solid", color="blue", weight=9]; 8630 -> 7960[label="",style="solid", color="blue", weight=3]; 8631[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8631[label="",style="solid", color="blue", weight=9]; 8631 -> 7961[label="",style="solid", color="blue", weight=3]; 8632[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8632[label="",style="solid", color="blue", weight=9]; 8632 -> 7962[label="",style="solid", color="blue", weight=3]; 7289[label="Integer vuz268 `quot` gcd0Gcd'2 (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7289 -> 7320[label="",style="solid", color="black", weight=3]; 7290[label="Integer vuz268 `quot` absReal2 (Integer vuz298)",fontsize=16,color="black",shape="box"];7290 -> 7321[label="",style="solid", color="black", weight=3]; 7309[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7309 -> 7418[label="",style="solid", color="black", weight=3]; 7310 -> 7192[label="",style="dashed", color="red", weight=0]; 7310[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7310 -> 7419[label="",style="dashed", color="magenta", weight=3]; 7310 -> 7420[label="",style="dashed", color="magenta", weight=3]; 7311[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7311 -> 7421[label="",style="solid", color="black", weight=3]; 7312 -> 7194[label="",style="dashed", color="red", weight=0]; 7312[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7312 -> 7422[label="",style="dashed", color="magenta", weight=3]; 7312 -> 7423[label="",style="dashed", color="magenta", weight=3]; 7313[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7313 -> 7424[label="",style="solid", color="black", weight=3]; 7314[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7314 -> 7425[label="",style="solid", color="black", weight=3]; 7951[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7952[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7953[label="fromInt (Neg (Succ Zero))",fontsize=16,color="blue",shape="box"];8633[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];7953 -> 8633[label="",style="solid", color="blue", weight=9]; 8633 -> 7963[label="",style="solid", color="blue", weight=3]; 8634[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7953 -> 8634[label="",style="solid", color="blue", weight=9]; 8634 -> 7964[label="",style="solid", color="blue", weight=3]; 7954[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8635[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7954 -> 8635[label="",style="solid", color="blue", weight=9]; 8635 -> 7965[label="",style="solid", color="blue", weight=3]; 8636[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7954 -> 8636[label="",style="solid", color="blue", weight=9]; 8636 -> 7966[label="",style="solid", color="blue", weight=3]; 8153 -> 8098[label="",style="dashed", color="red", weight=0]; 8153[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS vuz4900 vuz4910)",fontsize=16,color="magenta"];8153 -> 8161[label="",style="dashed", color="magenta", weight=3]; 8153 -> 8162[label="",style="dashed", color="magenta", weight=3]; 8154[label="primModNatS0 (Succ vuz488) (Succ vuz489) True",fontsize=16,color="black",shape="triangle"];8154 -> 8163[label="",style="solid", color="black", weight=3]; 8155[label="primModNatS0 (Succ vuz488) (Succ vuz489) False",fontsize=16,color="black",shape="box"];8155 -> 8164[label="",style="solid", color="black", weight=3]; 8156 -> 8154[label="",style="dashed", color="red", weight=0]; 8156[label="primModNatS0 (Succ vuz488) (Succ vuz489) True",fontsize=16,color="magenta"];7958 -> 7887[label="",style="dashed", color="red", weight=0]; 7958[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7959 -> 7888[label="",style="dashed", color="red", weight=0]; 7959[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7960 -> 7889[label="",style="dashed", color="red", weight=0]; 7960[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7961 -> 7890[label="",style="dashed", color="red", weight=0]; 7961[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7962 -> 2609[label="",style="dashed", color="red", weight=0]; 7962[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7962 -> 7982[label="",style="dashed", color="magenta", weight=3]; 7320[label="Integer vuz268 `quot` gcd0Gcd'1 (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7320 -> 7434[label="",style="solid", color="black", weight=3]; 7321[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (Integer vuz298 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];7321 -> 7435[label="",style="solid", color="black", weight=3]; 7418[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7418 -> 7452[label="",style="solid", color="black", weight=3]; 7419[label="vuz210",fontsize=16,color="green",shape="box"];7420[label="vuz209",fontsize=16,color="green",shape="box"];7421[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7421 -> 7453[label="",style="solid", color="black", weight=3]; 7422[label="vuz213",fontsize=16,color="green",shape="box"];7423[label="vuz214",fontsize=16,color="green",shape="box"];7424[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7424 -> 7454[label="",style="solid", color="black", weight=3]; 7425[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7425 -> 7455[label="",style="solid", color="black", weight=3]; 7963 -> 7890[label="",style="dashed", color="red", weight=0]; 7963[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7964 -> 2609[label="",style="dashed", color="red", weight=0]; 7964[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7964 -> 7983[label="",style="dashed", color="magenta", weight=3]; 7965 -> 7850[label="",style="dashed", color="red", weight=0]; 7965[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7966 -> 2609[label="",style="dashed", color="red", weight=0]; 7966[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7966 -> 7984[label="",style="dashed", color="magenta", weight=3]; 8161[label="vuz4900",fontsize=16,color="green",shape="box"];8162[label="vuz4910",fontsize=16,color="green",shape="box"];8163 -> 5923[label="",style="dashed", color="red", weight=0]; 8163[label="primModNatS (primMinusNatS (Succ vuz488) (Succ vuz489)) (Succ (Succ vuz489))",fontsize=16,color="magenta"];8163 -> 8169[label="",style="dashed", color="magenta", weight=3]; 8163 -> 8170[label="",style="dashed", color="magenta", weight=3]; 8164[label="Succ (Succ vuz488)",fontsize=16,color="green",shape="box"];7982[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];7434[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7434 -> 7462[label="",style="solid", color="black", weight=3]; 7435[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (compare (Integer vuz298) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];7435 -> 7463[label="",style="solid", color="black", weight=3]; 7452[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7452 -> 7527[label="",style="solid", color="black", weight=3]; 7453[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7453 -> 7528[label="",style="solid", color="black", weight=3]; 7454[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7454 -> 7529[label="",style="solid", color="black", weight=3]; 7455[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7455 -> 7530[label="",style="solid", color="black", weight=3]; 7983[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];7984[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];8169[label="Succ vuz489",fontsize=16,color="green",shape="box"];8170 -> 7692[label="",style="dashed", color="red", weight=0]; 8170[label="primMinusNatS (Succ vuz488) (Succ vuz489)",fontsize=16,color="magenta"];8170 -> 8174[label="",style="dashed", color="magenta", weight=3]; 8170 -> 8175[label="",style="dashed", color="magenta", weight=3]; 7462[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal2 (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal2 (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7462 -> 7537[label="",style="solid", color="black", weight=3]; 7463[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (not (compare (Integer vuz298) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];7463 -> 7538[label="",style="solid", color="black", weight=3]; 7527[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7527 -> 7554[label="",style="solid", color="black", weight=3]; 7528[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7528 -> 7555[label="",style="solid", color="black", weight=3]; 7529[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7529 -> 7556[label="",style="solid", color="black", weight=3]; 7530[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7530 -> 7557[label="",style="solid", color="black", weight=3]; 8174[label="Succ vuz488",fontsize=16,color="green",shape="box"];8175[label="Succ vuz489",fontsize=16,color="green",shape="box"];7537[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (Integer vuz298 >= fromInt (Pos Zero)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (Integer vuz298 >= fromInt (Pos Zero)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7537 -> 7566[label="",style="solid", color="black", weight=3]; 7538[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (not (compare (Integer vuz298) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];7538 -> 7567[label="",style="solid", color="black", weight=3]; 7554 -> 7120[label="",style="dashed", color="red", weight=0]; 7554[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7554 -> 7583[label="",style="dashed", color="magenta", weight=3]; 7554 -> 7584[label="",style="dashed", color="magenta", weight=3]; 7554 -> 7585[label="",style="dashed", color="magenta", weight=3]; 7554 -> 7586[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7120[label="",style="dashed", color="red", weight=0]; 7555[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7555 -> 7587[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7588[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7589[label="",style="dashed", color="magenta", weight=3]; 7555 -> 7590[label="",style="dashed", color="magenta", weight=3]; 7556 -> 7120[label="",style="dashed", color="red", weight=0]; 7556[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7556 -> 7591[label="",style="dashed", color="magenta", weight=3]; 7556 -> 7592[label="",style="dashed", color="magenta", weight=3]; 7556 -> 7593[label="",style="dashed", color="magenta", weight=3]; 7556 -> 7594[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7120[label="",style="dashed", color="red", weight=0]; 7557[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7557 -> 7595[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7596[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7597[label="",style="dashed", color="magenta", weight=3]; 7557 -> 7598[label="",style="dashed", color="magenta", weight=3]; 7566[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (compare (Integer vuz298) (fromInt (Pos Zero)) /= LT) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (compare (Integer vuz298) (fromInt (Pos Zero)) /= LT) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7566 -> 7605[label="",style="solid", color="black", weight=3]; 7567[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (not (primCmpInt vuz298 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];8637[label="vuz298/Pos vuz2980",fontsize=10,color="white",style="solid",shape="box"];7567 -> 8637[label="",style="solid", color="burlywood", weight=9]; 8637 -> 7606[label="",style="solid", color="burlywood", weight=3]; 8638[label="vuz298/Neg vuz2980",fontsize=10,color="white",style="solid",shape="box"];7567 -> 8638[label="",style="solid", color="burlywood", weight=9]; 8638 -> 7607[label="",style="solid", color="burlywood", weight=3]; 7583[label="Pos vuz208",fontsize=16,color="green",shape="box"];7584[label="Pos (Succ vuz196)",fontsize=16,color="green",shape="box"];7585[label="Pos vuz207",fontsize=16,color="green",shape="box"];7586 -> 47[label="",style="dashed", color="red", weight=0]; 7586[label="absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7586 -> 7623[label="",style="dashed", color="magenta", weight=3]; 7587[label="Neg vuz212",fontsize=16,color="green",shape="box"];7588[label="Pos (Succ vuz204)",fontsize=16,color="green",shape="box"];7589[label="Neg vuz211",fontsize=16,color="green",shape="box"];7590 -> 47[label="",style="dashed", color="red", weight=0]; 7590[label="absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7590 -> 7624[label="",style="dashed", color="magenta", weight=3]; 7591[label="Neg vuz217",fontsize=16,color="green",shape="box"];7592 -> 2686[label="",style="dashed", color="red", weight=0]; 7592[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7592 -> 7625[label="",style="dashed", color="magenta", weight=3]; 7593[label="Neg vuz216",fontsize=16,color="green",shape="box"];7594 -> 47[label="",style="dashed", color="red", weight=0]; 7594[label="absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7594 -> 7626[label="",style="dashed", color="magenta", weight=3]; 7595[label="Pos vuz227",fontsize=16,color="green",shape="box"];7596 -> 2686[label="",style="dashed", color="red", weight=0]; 7596[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7596 -> 7627[label="",style="dashed", color="magenta", weight=3]; 7597[label="Pos vuz226",fontsize=16,color="green",shape="box"];7598 -> 47[label="",style="dashed", color="red", weight=0]; 7598[label="absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7598 -> 7628[label="",style="dashed", color="magenta", weight=3]; 7605[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (fromInt (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (fromInt (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7605 -> 7635[label="",style="solid", color="black", weight=3]; 7606[label="Integer vuz268 `quot` absReal1 (Integer (Pos vuz2980)) (not (primCmpInt (Pos vuz2980) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];8639[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7606 -> 8639[label="",style="solid", color="burlywood", weight=9]; 8639 -> 7636[label="",style="solid", color="burlywood", weight=3]; 8640[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7606 -> 8640[label="",style="solid", color="burlywood", weight=9]; 8640 -> 7637[label="",style="solid", color="burlywood", weight=3]; 7607[label="Integer vuz268 `quot` absReal1 (Integer (Neg vuz2980)) (not (primCmpInt (Neg vuz2980) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];8641[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7607 -> 8641[label="",style="solid", color="burlywood", weight=9]; 8641 -> 7638[label="",style="solid", color="burlywood", weight=3]; 8642[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7607 -> 8642[label="",style="solid", color="burlywood", weight=9]; 8642 -> 7639[label="",style="solid", color="burlywood", weight=3]; 7623[label="Pos (Succ vuz196)",fontsize=16,color="green",shape="box"];7624[label="Pos (Succ vuz204)",fontsize=16,color="green",shape="box"];7625[label="vuz900",fontsize=16,color="green",shape="box"];7626 -> 2686[label="",style="dashed", color="red", weight=0]; 7626[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7626 -> 7652[label="",style="dashed", color="magenta", weight=3]; 7627[label="vuz900",fontsize=16,color="green",shape="box"];7628 -> 2686[label="",style="dashed", color="red", weight=0]; 7628[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7628 -> 7653[label="",style="dashed", color="magenta", weight=3]; 7635[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (Integer (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (Integer (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7635 -> 7662[label="",style="solid", color="black", weight=3]; 7636[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpInt (Pos (Succ vuz29800)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7636 -> 7663[label="",style="solid", color="black", weight=3]; 7637[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7637 -> 7664[label="",style="solid", color="black", weight=3]; 7638[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) (not (primCmpInt (Neg (Succ vuz29800)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7638 -> 7665[label="",style="solid", color="black", weight=3]; 7639[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7639 -> 7666[label="",style="solid", color="black", weight=3]; 7652[label="vuz900",fontsize=16,color="green",shape="box"];7653[label="vuz900",fontsize=16,color="green",shape="box"];7662[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (not (primCmpInt vuz298 (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (not (primCmpInt vuz298 (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];8643[label="vuz298/Pos vuz2980",fontsize=10,color="white",style="solid",shape="box"];7662 -> 8643[label="",style="solid", color="burlywood", weight=9]; 8643 -> 7686[label="",style="solid", color="burlywood", weight=3]; 8644[label="vuz298/Neg vuz2980",fontsize=10,color="white",style="solid",shape="box"];7662 -> 8644[label="",style="solid", color="burlywood", weight=9]; 8644 -> 7687[label="",style="solid", color="burlywood", weight=3]; 7663[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpNat (Succ vuz29800) Zero == LT))",fontsize=16,color="black",shape="box"];7663 -> 7688[label="",style="solid", color="black", weight=3]; 7664[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];7664 -> 7689[label="",style="solid", color="black", weight=3]; 7665[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) (not (LT == LT))",fontsize=16,color="black",shape="box"];7665 -> 7690[label="",style="solid", color="black", weight=3]; 7666[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];7666 -> 7691[label="",style="solid", color="black", weight=3]; 7686[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz2980)) (not (primCmpInt (Pos vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos vuz2980)) (not (primCmpInt (Pos vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];8645[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7686 -> 8645[label="",style="solid", color="burlywood", weight=9]; 8645 -> 7738[label="",style="solid", color="burlywood", weight=3]; 8646[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7686 -> 8646[label="",style="solid", color="burlywood", weight=9]; 8646 -> 7739[label="",style="solid", color="burlywood", weight=3]; 7687[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz2980)) (not (primCmpInt (Neg vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg vuz2980)) (not (primCmpInt (Neg vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];8647[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7687 -> 8647[label="",style="solid", color="burlywood", weight=9]; 8647 -> 7740[label="",style="solid", color="burlywood", weight=3]; 8648[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7687 -> 8648[label="",style="solid", color="burlywood", weight=9]; 8648 -> 7741[label="",style="solid", color="burlywood", weight=3]; 7688[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not (GT == LT))",fontsize=16,color="black",shape="box"];7688 -> 7742[label="",style="solid", color="black", weight=3]; 7689[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];7689 -> 7743[label="",style="solid", color="black", weight=3]; 7690[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) (not True)",fontsize=16,color="black",shape="box"];7690 -> 7744[label="",style="solid", color="black", weight=3]; 7691[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];7691 -> 7745[label="",style="solid", color="black", weight=3]; 7738[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpInt (Pos (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpInt (Pos (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7738 -> 7768[label="",style="solid", color="black", weight=3]; 7739[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7739 -> 7769[label="",style="solid", color="black", weight=3]; 7740[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) (not (primCmpInt (Neg (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) (not (primCmpInt (Neg (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7740 -> 7770[label="",style="solid", color="black", weight=3]; 7741[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7741 -> 7771[label="",style="solid", color="black", weight=3]; 7742[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not False)",fontsize=16,color="black",shape="box"];7742 -> 7772[label="",style="solid", color="black", weight=3]; 7743[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];7743 -> 7773[label="",style="solid", color="black", weight=3]; 7744[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) False",fontsize=16,color="black",shape="box"];7744 -> 7774[label="",style="solid", color="black", weight=3]; 7745[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];7745 -> 7775[label="",style="solid", color="black", weight=3]; 7768[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpNat (Succ vuz29800) Zero == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpNat (Succ vuz29800) Zero == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7768 -> 7797[label="",style="solid", color="black", weight=3]; 7769[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7769 -> 7798[label="",style="solid", color="black", weight=3]; 7770[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) (not (LT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) (not (LT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7770 -> 7799[label="",style="solid", color="black", weight=3]; 7771[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7771 -> 7800[label="",style="solid", color="black", weight=3]; 7772[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) True",fontsize=16,color="black",shape="box"];7772 -> 7801[label="",style="solid", color="black", weight=3]; 7773 -> 7925[label="",style="dashed", color="red", weight=0]; 7773[label="Integer vuz268 `quot` Integer (Pos Zero)",fontsize=16,color="magenta"];7773 -> 7926[label="",style="dashed", color="magenta", weight=3]; 7774[label="Integer vuz268 `quot` absReal0 (Integer (Neg (Succ vuz29800))) otherwise",fontsize=16,color="black",shape="box"];7774 -> 7803[label="",style="solid", color="black", weight=3]; 7775 -> 7925[label="",style="dashed", color="red", weight=0]; 7775[label="Integer vuz268 `quot` Integer (Neg Zero)",fontsize=16,color="magenta"];7775 -> 7927[label="",style="dashed", color="magenta", weight=3]; 7797[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not (GT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not (GT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7797 -> 7865[label="",style="solid", color="black", weight=3]; 7798[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7798 -> 7866[label="",style="solid", color="black", weight=3]; 7799[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) (not True) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) (not True) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7799 -> 7867[label="",style="solid", color="black", weight=3]; 7800[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7800 -> 7868[label="",style="solid", color="black", weight=3]; 7801 -> 7925[label="",style="dashed", color="red", weight=0]; 7801[label="Integer vuz268 `quot` Integer (Pos (Succ vuz29800))",fontsize=16,color="magenta"];7801 -> 7928[label="",style="dashed", color="magenta", weight=3]; 7926[label="Pos Zero",fontsize=16,color="green",shape="box"];7925[label="Integer vuz268 `quot` Integer vuz468",fontsize=16,color="black",shape="triangle"];7925 -> 7943[label="",style="solid", color="black", weight=3]; 7803[label="Integer vuz268 `quot` absReal0 (Integer (Neg (Succ vuz29800))) True",fontsize=16,color="black",shape="box"];7803 -> 7871[label="",style="solid", color="black", weight=3]; 7927[label="Neg Zero",fontsize=16,color="green",shape="box"];7865[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7865 -> 7892[label="",style="solid", color="black", weight=3]; 7866[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7866 -> 7893[label="",style="solid", color="black", weight=3]; 7867[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) False `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) False `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7867 -> 7894[label="",style="solid", color="black", weight=3]; 7868[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7868 -> 7895[label="",style="solid", color="black", weight=3]; 7928[label="Pos (Succ vuz29800)",fontsize=16,color="green",shape="box"];7943[label="Integer (primQuotInt vuz268 vuz468)",fontsize=16,color="green",shape="box"];7943 -> 7955[label="",style="dashed", color="green", weight=3]; 7871[label="Integer vuz268 `quot` (`negate` Integer (Neg (Succ vuz29800)))",fontsize=16,color="black",shape="box"];7871 -> 7899[label="",style="solid", color="black", weight=3]; 7892[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7892 -> 7917[label="",style="solid", color="black", weight=3]; 7893 -> 8015[label="",style="dashed", color="red", weight=0]; 7893[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (Pos Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (Pos Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7893 -> 8016[label="",style="dashed", color="magenta", weight=3]; 7893 -> 8017[label="",style="dashed", color="magenta", weight=3]; 7894[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz29800))) otherwise `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal0 (Integer (Neg (Succ vuz29800))) otherwise `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7894 -> 7919[label="",style="solid", color="black", weight=3]; 7895 -> 8015[label="",style="dashed", color="red", weight=0]; 7895[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (Neg Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (Neg Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7895 -> 8018[label="",style="dashed", color="magenta", weight=3]; 7895 -> 8019[label="",style="dashed", color="magenta", weight=3]; 7955[label="primQuotInt vuz268 vuz468",fontsize=16,color="burlywood",shape="box"];8649[label="vuz268/Pos vuz2680",fontsize=10,color="white",style="solid",shape="box"];7955 -> 8649[label="",style="solid", color="burlywood", weight=9]; 8649 -> 7967[label="",style="solid", color="burlywood", weight=3]; 8650[label="vuz268/Neg vuz2680",fontsize=10,color="white",style="solid",shape="box"];7955 -> 8650[label="",style="solid", color="burlywood", weight=9]; 8650 -> 7968[label="",style="solid", color="burlywood", weight=3]; 7899 -> 7925[label="",style="dashed", color="red", weight=0]; 7899[label="Integer vuz268 `quot` Integer (primNegInt (Neg (Succ vuz29800)))",fontsize=16,color="magenta"];7899 -> 7929[label="",style="dashed", color="magenta", weight=3]; 7917 -> 8015[label="",style="dashed", color="red", weight=0]; 7917[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz29800)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (Pos (Succ vuz29800)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7917 -> 8020[label="",style="dashed", color="magenta", weight=3]; 7917 -> 8021[label="",style="dashed", color="magenta", weight=3]; 8016[label="Pos Zero",fontsize=16,color="green",shape="box"];8017[label="Pos Zero",fontsize=16,color="green",shape="box"];8015[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer vuz473 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];8015 -> 8024[label="",style="solid", color="black", weight=3]; 7919[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal0 (Integer (Neg (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7919 -> 7973[label="",style="solid", color="black", weight=3]; 8018[label="Neg Zero",fontsize=16,color="green",shape="box"];8019[label="Neg Zero",fontsize=16,color="green",shape="box"];7967[label="primQuotInt (Pos vuz2680) vuz468",fontsize=16,color="burlywood",shape="box"];8651[label="vuz468/Pos vuz4680",fontsize=10,color="white",style="solid",shape="box"];7967 -> 8651[label="",style="solid", color="burlywood", weight=9]; 8651 -> 7985[label="",style="solid", color="burlywood", weight=3]; 8652[label="vuz468/Neg vuz4680",fontsize=10,color="white",style="solid",shape="box"];7967 -> 8652[label="",style="solid", color="burlywood", weight=9]; 8652 -> 7986[label="",style="solid", color="burlywood", weight=3]; 7968[label="primQuotInt (Neg vuz2680) vuz468",fontsize=16,color="burlywood",shape="box"];8653[label="vuz468/Pos vuz4680",fontsize=10,color="white",style="solid",shape="box"];7968 -> 8653[label="",style="solid", color="burlywood", weight=9]; 8653 -> 7987[label="",style="solid", color="burlywood", weight=3]; 8654[label="vuz468/Neg vuz4680",fontsize=10,color="white",style="solid",shape="box"];7968 -> 8654[label="",style="solid", color="burlywood", weight=9]; 8654 -> 7988[label="",style="solid", color="burlywood", weight=3]; 7929 -> 2686[label="",style="dashed", color="red", weight=0]; 7929[label="primNegInt (Neg (Succ vuz29800))",fontsize=16,color="magenta"];7929 -> 7975[label="",style="dashed", color="magenta", weight=3]; 8020[label="Pos (Succ vuz29800)",fontsize=16,color="green",shape="box"];8021[label="Pos (Succ vuz29800)",fontsize=16,color="green",shape="box"];8024[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (Integer (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (Integer (Pos Zero)) == LT))) (Integer vuz473 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (Integer (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];8024 -> 8038[label="",style="solid", color="black", weight=3]; 7973[label="Integer vuz268 `quot` gcd0Gcd'1 ((`negate` Integer (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) ((`negate` Integer (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7973 -> 7992[label="",style="solid", color="black", weight=3]; 7985[label="primQuotInt (Pos vuz2680) (Pos vuz4680)",fontsize=16,color="burlywood",shape="box"];8655[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7985 -> 8655[label="",style="solid", color="burlywood", weight=9]; 8655 -> 8001[label="",style="solid", color="burlywood", weight=3]; 8656[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7985 -> 8656[label="",style="solid", color="burlywood", weight=9]; 8656 -> 8002[label="",style="solid", color="burlywood", weight=3]; 7986[label="primQuotInt (Pos vuz2680) (Neg vuz4680)",fontsize=16,color="burlywood",shape="box"];8657[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7986 -> 8657[label="",style="solid", color="burlywood", weight=9]; 8657 -> 8003[label="",style="solid", color="burlywood", weight=3]; 8658[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7986 -> 8658[label="",style="solid", color="burlywood", weight=9]; 8658 -> 8004[label="",style="solid", color="burlywood", weight=3]; 7987[label="primQuotInt (Neg vuz2680) (Pos vuz4680)",fontsize=16,color="burlywood",shape="box"];8659[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7987 -> 8659[label="",style="solid", color="burlywood", weight=9]; 8659 -> 8005[label="",style="solid", color="burlywood", weight=3]; 8660[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7987 -> 8660[label="",style="solid", color="burlywood", weight=9]; 8660 -> 8006[label="",style="solid", color="burlywood", weight=3]; 7988[label="primQuotInt (Neg vuz2680) (Neg vuz4680)",fontsize=16,color="burlywood",shape="box"];8661[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7988 -> 8661[label="",style="solid", color="burlywood", weight=9]; 8661 -> 8007[label="",style="solid", color="burlywood", weight=3]; 8662[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7988 -> 8662[label="",style="solid", color="burlywood", weight=9]; 8662 -> 8008[label="",style="solid", color="burlywood", weight=3]; 7975[label="vuz29800",fontsize=16,color="green",shape="box"];8038[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer vuz269) (not (primCmpInt vuz269 (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (primCmpInt vuz269 (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer vuz269) (not (primCmpInt vuz269 (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8663[label="vuz269/Pos vuz2690",fontsize=10,color="white",style="solid",shape="box"];8038 -> 8663[label="",style="solid", color="burlywood", weight=9]; 8663 -> 8041[label="",style="solid", color="burlywood", weight=3]; 8664[label="vuz269/Neg vuz2690",fontsize=10,color="white",style="solid",shape="box"];8038 -> 8664[label="",style="solid", color="burlywood", weight=9]; 8664 -> 8042[label="",style="solid", color="burlywood", weight=3]; 7992 -> 8015[label="",style="dashed", color="red", weight=0]; 7992[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (primNegInt (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7992 -> 8022[label="",style="dashed", color="magenta", weight=3]; 7992 -> 8023[label="",style="dashed", color="magenta", weight=3]; 8001[label="primQuotInt (Pos vuz2680) (Pos (Succ vuz46800))",fontsize=16,color="black",shape="box"];8001 -> 8025[label="",style="solid", color="black", weight=3]; 8002[label="primQuotInt (Pos vuz2680) (Pos Zero)",fontsize=16,color="black",shape="box"];8002 -> 8026[label="",style="solid", color="black", weight=3]; 8003[label="primQuotInt (Pos vuz2680) (Neg (Succ vuz46800))",fontsize=16,color="black",shape="box"];8003 -> 8027[label="",style="solid", color="black", weight=3]; 8004[label="primQuotInt (Pos vuz2680) (Neg Zero)",fontsize=16,color="black",shape="box"];8004 -> 8028[label="",style="solid", color="black", weight=3]; 8005[label="primQuotInt (Neg vuz2680) (Pos (Succ vuz46800))",fontsize=16,color="black",shape="box"];8005 -> 8029[label="",style="solid", color="black", weight=3]; 8006[label="primQuotInt (Neg vuz2680) (Pos Zero)",fontsize=16,color="black",shape="box"];8006 -> 8030[label="",style="solid", color="black", weight=3]; 8007[label="primQuotInt (Neg vuz2680) (Neg (Succ vuz46800))",fontsize=16,color="black",shape="box"];8007 -> 8031[label="",style="solid", color="black", weight=3]; 8008[label="primQuotInt (Neg vuz2680) (Neg Zero)",fontsize=16,color="black",shape="box"];8008 -> 8032[label="",style="solid", color="black", weight=3]; 8041[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos vuz2690)) (not (primCmpInt (Pos vuz2690) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos vuz2690)) (not (primCmpInt (Pos vuz2690) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos vuz2690)) (not (primCmpInt (Pos vuz2690) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8665[label="vuz2690/Succ vuz26900",fontsize=10,color="white",style="solid",shape="box"];8041 -> 8665[label="",style="solid", color="burlywood", weight=9]; 8665 -> 8057[label="",style="solid", color="burlywood", weight=3]; 8666[label="vuz2690/Zero",fontsize=10,color="white",style="solid",shape="box"];8041 -> 8666[label="",style="solid", color="burlywood", weight=9]; 8666 -> 8058[label="",style="solid", color="burlywood", weight=3]; 8042[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg vuz2690)) (not (primCmpInt (Neg vuz2690) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg vuz2690)) (not (primCmpInt (Neg vuz2690) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg vuz2690)) (not (primCmpInt (Neg vuz2690) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8667[label="vuz2690/Succ vuz26900",fontsize=10,color="white",style="solid",shape="box"];8042 -> 8667[label="",style="solid", color="burlywood", weight=9]; 8667 -> 8059[label="",style="solid", color="burlywood", weight=3]; 8668[label="vuz2690/Zero",fontsize=10,color="white",style="solid",shape="box"];8042 -> 8668[label="",style="solid", color="burlywood", weight=9]; 8668 -> 8060[label="",style="solid", color="burlywood", weight=3]; 8022 -> 2686[label="",style="dashed", color="red", weight=0]; 8022[label="primNegInt (Neg (Succ vuz29800))",fontsize=16,color="magenta"];8022 -> 8045[label="",style="dashed", color="magenta", weight=3]; 8023 -> 2686[label="",style="dashed", color="red", weight=0]; 8023[label="primNegInt (Neg (Succ vuz29800))",fontsize=16,color="magenta"];8023 -> 8046[label="",style="dashed", color="magenta", weight=3]; 8025[label="Pos (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8025 -> 8047[label="",style="dashed", color="green", weight=3]; 8026 -> 3082[label="",style="dashed", color="red", weight=0]; 8026[label="error []",fontsize=16,color="magenta"];8027[label="Neg (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8027 -> 8048[label="",style="dashed", color="green", weight=3]; 8028 -> 3082[label="",style="dashed", color="red", weight=0]; 8028[label="error []",fontsize=16,color="magenta"];8029[label="Neg (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8029 -> 8049[label="",style="dashed", color="green", weight=3]; 8030 -> 3082[label="",style="dashed", color="red", weight=0]; 8030[label="error []",fontsize=16,color="magenta"];8031[label="Pos (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8031 -> 8050[label="",style="dashed", color="green", weight=3]; 8032 -> 3082[label="",style="dashed", color="red", weight=0]; 8032[label="error []",fontsize=16,color="magenta"];8057[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpInt (Pos (Succ vuz26900)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpInt (Pos (Succ vuz26900)) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpInt (Pos (Succ vuz26900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8057 -> 8075[label="",style="solid", color="black", weight=3]; 8058[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8058 -> 8076[label="",style="solid", color="black", weight=3]; 8059[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (primCmpInt (Neg (Succ vuz26900)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) (not (primCmpInt (Neg (Succ vuz26900)) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (primCmpInt (Neg (Succ vuz26900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8059 -> 8077[label="",style="solid", color="black", weight=3]; 8060[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8060 -> 8078[label="",style="solid", color="black", weight=3]; 8045[label="vuz29800",fontsize=16,color="green",shape="box"];8046[label="vuz29800",fontsize=16,color="green",shape="box"];8047 -> 5661[label="",style="dashed", color="red", weight=0]; 8047[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8047 -> 8061[label="",style="dashed", color="magenta", weight=3]; 8047 -> 8062[label="",style="dashed", color="magenta", weight=3]; 8048 -> 5661[label="",style="dashed", color="red", weight=0]; 8048[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8048 -> 8063[label="",style="dashed", color="magenta", weight=3]; 8048 -> 8064[label="",style="dashed", color="magenta", weight=3]; 8049 -> 5661[label="",style="dashed", color="red", weight=0]; 8049[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8049 -> 8065[label="",style="dashed", color="magenta", weight=3]; 8049 -> 8066[label="",style="dashed", color="magenta", weight=3]; 8050 -> 5661[label="",style="dashed", color="red", weight=0]; 8050[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8050 -> 8067[label="",style="dashed", color="magenta", weight=3]; 8050 -> 8068[label="",style="dashed", color="magenta", weight=3]; 8075[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpNat (Succ vuz26900) Zero == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpNat (Succ vuz26900) Zero == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpNat (Succ vuz26900) Zero == LT)))",fontsize=16,color="black",shape="box"];8075 -> 8083[label="",style="solid", color="black", weight=3]; 8076[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];8076 -> 8084[label="",style="solid", color="black", weight=3]; 8077[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (LT == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) (not (LT == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];8077 -> 8085[label="",style="solid", color="black", weight=3]; 8078[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];8078 -> 8086[label="",style="solid", color="black", weight=3]; 8061[label="vuz46800",fontsize=16,color="green",shape="box"];8062[label="vuz2680",fontsize=16,color="green",shape="box"];8063[label="vuz46800",fontsize=16,color="green",shape="box"];8064[label="vuz2680",fontsize=16,color="green",shape="box"];8065[label="vuz46800",fontsize=16,color="green",shape="box"];8066[label="vuz2680",fontsize=16,color="green",shape="box"];8067[label="vuz46800",fontsize=16,color="green",shape="box"];8068[label="vuz2680",fontsize=16,color="green",shape="box"];8083[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (GT == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not (GT == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];8083 -> 8094[label="",style="solid", color="black", weight=3]; 8084[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) (not False) == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not False)) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="box"];8084 -> 8095[label="",style="solid", color="black", weight=3]; 8085[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not True) == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) (not True)) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not True))",fontsize=16,color="black",shape="box"];8085 -> 8096[label="",style="solid", color="black", weight=3]; 8086[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) (not False) == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not False)) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="box"];8086 -> 8097[label="",style="solid", color="black", weight=3]; 8094[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not False) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not False)) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not False))",fontsize=16,color="black",shape="box"];8094 -> 8141[label="",style="solid", color="black", weight=3]; 8095[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) True) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];8095 -> 8142[label="",style="solid", color="black", weight=3]; 8096[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) False == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) False) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) False)",fontsize=16,color="black",shape="box"];8096 -> 8143[label="",style="solid", color="black", weight=3]; 8097[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) True) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];8097 -> 8144[label="",style="solid", color="black", weight=3]; 8141[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) True == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) True) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) True)",fontsize=16,color="black",shape="box"];8141 -> 8149[label="",style="solid", color="black", weight=3]; 8142 -> 8196[label="",style="dashed", color="red", weight=0]; 8142[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (Pos Zero) == fromInt (Pos Zero)) (Integer (Pos Zero)) (Integer vuz473 `rem` Integer (Pos Zero))",fontsize=16,color="magenta"];8142 -> 8197[label="",style="dashed", color="magenta", weight=3]; 8142 -> 8198[label="",style="dashed", color="magenta", weight=3]; 8142 -> 8199[label="",style="dashed", color="magenta", weight=3]; 8143[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal0 (Integer (Neg (Succ vuz26900))) otherwise == fromInt (Pos Zero)) (absReal0 (Integer (Neg (Succ vuz26900))) otherwise) (Integer vuz473 `rem` absReal0 (Integer (Neg (Succ vuz26900))) otherwise)",fontsize=16,color="black",shape="box"];8143 -> 8151[label="",style="solid", color="black", weight=3]; 8144 -> 8196[label="",style="dashed", color="red", weight=0]; 8144[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (Neg Zero) == fromInt (Pos Zero)) (Integer (Neg Zero)) (Integer vuz473 `rem` Integer (Neg Zero))",fontsize=16,color="magenta"];8144 -> 8200[label="",style="dashed", color="magenta", weight=3]; 8144 -> 8201[label="",style="dashed", color="magenta", weight=3]; 8144 -> 8202[label="",style="dashed", color="magenta", weight=3]; 8149 -> 8196[label="",style="dashed", color="red", weight=0]; 8149[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (Pos (Succ vuz26900)) == fromInt (Pos Zero)) (Integer (Pos (Succ vuz26900))) (Integer vuz473 `rem` Integer (Pos (Succ vuz26900)))",fontsize=16,color="magenta"];8149 -> 8203[label="",style="dashed", color="magenta", weight=3]; 8149 -> 8204[label="",style="dashed", color="magenta", weight=3]; 8149 -> 8205[label="",style="dashed", color="magenta", weight=3]; 8197[label="Pos Zero",fontsize=16,color="green",shape="box"];8198[label="Pos Zero",fontsize=16,color="green",shape="box"];8199[label="Pos Zero",fontsize=16,color="green",shape="box"];8196[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer vuz503 == fromInt (Pos Zero)) (Integer vuz501) (Integer vuz473 `rem` Integer vuz502)",fontsize=16,color="black",shape="triangle"];8196 -> 8209[label="",style="solid", color="black", weight=3]; 8151[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal0 (Integer (Neg (Succ vuz26900))) True == fromInt (Pos Zero)) (absReal0 (Integer (Neg (Succ vuz26900))) True) (Integer vuz473 `rem` absReal0 (Integer (Neg (Succ vuz26900))) True)",fontsize=16,color="black",shape="box"];8151 -> 8165[label="",style="solid", color="black", weight=3]; 8200[label="Neg Zero",fontsize=16,color="green",shape="box"];8201[label="Neg Zero",fontsize=16,color="green",shape="box"];8202[label="Neg Zero",fontsize=16,color="green",shape="box"];8203[label="Pos (Succ vuz26900)",fontsize=16,color="green",shape="box"];8204[label="Pos (Succ vuz26900)",fontsize=16,color="green",shape="box"];8205[label="Pos (Succ vuz26900)",fontsize=16,color="green",shape="box"];8209 -> 8213[label="",style="dashed", color="red", weight=0]; 8209[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (primRemInt vuz474 vuz503) == fromInt (Pos Zero)) (Integer vuz501) (Integer (primRemInt vuz474 vuz503))",fontsize=16,color="magenta"];8209 -> 8214[label="",style="dashed", color="magenta", weight=3]; 8209 -> 8215[label="",style="dashed", color="magenta", weight=3]; 8165[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` (`negate` Integer (Neg (Succ vuz26900))) == fromInt (Pos Zero)) (`negate` Integer (Neg (Succ vuz26900))) (Integer vuz473 `rem` (`negate` Integer (Neg (Succ vuz26900))))",fontsize=16,color="black",shape="box"];8165 -> 8181[label="",style="solid", color="black", weight=3]; 8214 -> 4263[label="",style="dashed", color="red", weight=0]; 8214[label="primRemInt vuz474 vuz503",fontsize=16,color="magenta"];8214 -> 8216[label="",style="dashed", color="magenta", weight=3]; 8214 -> 8217[label="",style="dashed", color="magenta", weight=3]; 8215 -> 6099[label="",style="dashed", color="red", weight=0]; 8215[label="Integer (primRemInt vuz474 vuz503) == fromInt (Pos Zero)",fontsize=16,color="magenta"];8215 -> 8218[label="",style="dashed", color="magenta", weight=3]; 8213[label="Integer vuz268 `quot` gcd0Gcd'1 vuz504 (Integer vuz501) (Integer vuz505)",fontsize=16,color="burlywood",shape="triangle"];8669[label="vuz504/False",fontsize=10,color="white",style="solid",shape="box"];8213 -> 8669[label="",style="solid", color="burlywood", weight=9]; 8669 -> 8219[label="",style="solid", color="burlywood", weight=3]; 8670[label="vuz504/True",fontsize=10,color="white",style="solid",shape="box"];8213 -> 8670[label="",style="solid", color="burlywood", weight=9]; 8670 -> 8220[label="",style="solid", color="burlywood", weight=3]; 8181 -> 8196[label="",style="dashed", color="red", weight=0]; 8181[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (primNegInt (Neg (Succ vuz26900))) == fromInt (Pos Zero)) (Integer (primNegInt (Neg (Succ vuz26900)))) (Integer vuz473 `rem` Integer (primNegInt (Neg (Succ vuz26900))))",fontsize=16,color="magenta"];8181 -> 8206[label="",style="dashed", color="magenta", weight=3]; 8181 -> 8207[label="",style="dashed", color="magenta", weight=3]; 8181 -> 8208[label="",style="dashed", color="magenta", weight=3]; 8216[label="vuz474",fontsize=16,color="green",shape="box"];8217[label="vuz503",fontsize=16,color="green",shape="box"];8218 -> 4263[label="",style="dashed", color="red", weight=0]; 8218[label="primRemInt vuz474 vuz503",fontsize=16,color="magenta"];8218 -> 8221[label="",style="dashed", color="magenta", weight=3]; 8218 -> 8222[label="",style="dashed", color="magenta", weight=3]; 8219[label="Integer vuz268 `quot` gcd0Gcd'1 False (Integer vuz501) (Integer vuz505)",fontsize=16,color="black",shape="box"];8219 -> 8223[label="",style="solid", color="black", weight=3]; 8220[label="Integer vuz268 `quot` gcd0Gcd'1 True (Integer vuz501) (Integer vuz505)",fontsize=16,color="black",shape="box"];8220 -> 8224[label="",style="solid", color="black", weight=3]; 8206 -> 2686[label="",style="dashed", color="red", weight=0]; 8206[label="primNegInt (Neg (Succ vuz26900))",fontsize=16,color="magenta"];8206 -> 8210[label="",style="dashed", color="magenta", weight=3]; 8207 -> 2686[label="",style="dashed", color="red", weight=0]; 8207[label="primNegInt (Neg (Succ vuz26900))",fontsize=16,color="magenta"];8207 -> 8211[label="",style="dashed", color="magenta", weight=3]; 8208 -> 2686[label="",style="dashed", color="red", weight=0]; 8208[label="primNegInt (Neg (Succ vuz26900))",fontsize=16,color="magenta"];8208 -> 8212[label="",style="dashed", color="magenta", weight=3]; 8221[label="vuz474",fontsize=16,color="green",shape="box"];8222[label="vuz503",fontsize=16,color="green",shape="box"];8223[label="Integer vuz268 `quot` gcd0Gcd'0 (Integer vuz501) (Integer vuz505)",fontsize=16,color="black",shape="box"];8223 -> 8225[label="",style="solid", color="black", weight=3]; 8224 -> 7925[label="",style="dashed", color="red", weight=0]; 8224[label="Integer vuz268 `quot` Integer vuz501",fontsize=16,color="magenta"];8224 -> 8226[label="",style="dashed", color="magenta", weight=3]; 8210[label="vuz26900",fontsize=16,color="green",shape="box"];8211[label="vuz26900",fontsize=16,color="green",shape="box"];8212[label="vuz26900",fontsize=16,color="green",shape="box"];8225[label="Integer vuz268 `quot` gcd0Gcd' (Integer vuz505) (Integer vuz501 `rem` Integer vuz505)",fontsize=16,color="black",shape="box"];8225 -> 8227[label="",style="solid", color="black", weight=3]; 8226[label="vuz501",fontsize=16,color="green",shape="box"];8227[label="Integer vuz268 `quot` gcd0Gcd'2 (Integer vuz505) (Integer vuz501 `rem` Integer vuz505)",fontsize=16,color="black",shape="box"];8227 -> 8228[label="",style="solid", color="black", weight=3]; 8228 -> 8196[label="",style="dashed", color="red", weight=0]; 8228[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz501 `rem` Integer vuz505 == fromInt (Pos Zero)) (Integer vuz505) (Integer vuz501 `rem` Integer vuz505)",fontsize=16,color="magenta"];8228 -> 8229[label="",style="dashed", color="magenta", weight=3]; 8228 -> 8230[label="",style="dashed", color="magenta", weight=3]; 8228 -> 8231[label="",style="dashed", color="magenta", weight=3]; 8228 -> 8232[label="",style="dashed", color="magenta", weight=3]; 8228 -> 8233[label="",style="dashed", color="magenta", weight=3]; 8229[label="vuz505",fontsize=16,color="green",shape="box"];8230[label="vuz505",fontsize=16,color="green",shape="box"];8231[label="vuz501",fontsize=16,color="green",shape="box"];8232[label="vuz505",fontsize=16,color="green",shape="box"];8233[label="vuz501",fontsize=16,color="green",shape="box"];} ---------------------------------------- (944) TRUE