/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) MNOCProof [EQUIVALENT, 0 ms] (30) QDP (31) InductionCalculusProof [EQUIVALENT, 0 ms] (32) QDP (33) TransformationProof [EQUIVALENT, 0 ms] (34) QDP (35) TransformationProof [EQUIVALENT, 0 ms] (36) QDP (37) DependencyGraphProof [EQUIVALENT, 0 ms] (38) QDP (39) TransformationProof [EQUIVALENT, 0 ms] (40) QDP (41) DependencyGraphProof [EQUIVALENT, 0 ms] (42) QDP (43) TransformationProof [EQUIVALENT, 0 ms] (44) QDP (45) DependencyGraphProof [EQUIVALENT, 0 ms] (46) QDP (47) TransformationProof [EQUIVALENT, 0 ms] (48) QDP (49) DependencyGraphProof [EQUIVALENT, 0 ms] (50) QDP (51) TransformationProof [EQUIVALENT, 0 ms] (52) QDP (53) DependencyGraphProof [EQUIVALENT, 0 ms] (54) AND (55) QDP (56) UsableRulesProof [EQUIVALENT, 0 ms] (57) QDP (58) QReductionProof [EQUIVALENT, 0 ms] (59) QDP (60) TransformationProof [EQUIVALENT, 0 ms] (61) QDP (62) DependencyGraphProof [EQUIVALENT, 0 ms] (63) QDP (64) TransformationProof [EQUIVALENT, 0 ms] (65) QDP (66) DependencyGraphProof [EQUIVALENT, 0 ms] (67) QDP (68) TransformationProof [EQUIVALENT, 0 ms] (69) QDP (70) TransformationProof [EQUIVALENT, 0 ms] (71) QDP (72) DependencyGraphProof [EQUIVALENT, 0 ms] (73) QDP (74) TransformationProof [EQUIVALENT, 0 ms] (75) QDP (76) TransformationProof [EQUIVALENT, 0 ms] (77) QDP (78) TransformationProof [EQUIVALENT, 0 ms] (79) QDP (80) TransformationProof [EQUIVALENT, 0 ms] (81) QDP (82) DependencyGraphProof [EQUIVALENT, 0 ms] (83) QDP (84) TransformationProof [EQUIVALENT, 0 ms] (85) QDP (86) DependencyGraphProof [EQUIVALENT, 0 ms] (87) QDP (88) TransformationProof [EQUIVALENT, 0 ms] (89) QDP (90) TransformationProof [EQUIVALENT, 0 ms] (91) QDP (92) DependencyGraphProof [EQUIVALENT, 0 ms] (93) AND (94) QDP (95) UsableRulesProof [EQUIVALENT, 0 ms] (96) QDP (97) QReductionProof [EQUIVALENT, 0 ms] (98) QDP (99) TransformationProof [EQUIVALENT, 0 ms] (100) QDP (101) UsableRulesProof [EQUIVALENT, 0 ms] (102) QDP (103) TransformationProof [EQUIVALENT, 0 ms] (104) QDP (105) UsableRulesProof [EQUIVALENT, 0 ms] (106) QDP (107) TransformationProof [EQUIVALENT, 0 ms] (108) QDP (109) TransformationProof [EQUIVALENT, 0 ms] (110) QDP (111) TransformationProof [EQUIVALENT, 0 ms] (112) QDP (113) TransformationProof [EQUIVALENT, 0 ms] (114) QDP (115) DependencyGraphProof [EQUIVALENT, 0 ms] (116) QDP (117) TransformationProof [EQUIVALENT, 0 ms] (118) QDP (119) 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) DependencyGraphProof [EQUIVALENT, 0 ms] (130) QDP (131) TransformationProof [EQUIVALENT, 0 ms] (132) QDP (133) TransformationProof [EQUIVALENT, 0 ms] (134) QDP (135) DependencyGraphProof [EQUIVALENT, 0 ms] (136) QDP (137) TransformationProof [EQUIVALENT, 0 ms] (138) QDP (139) QDPSizeChangeProof [EQUIVALENT, 0 ms] (140) YES (141) QDP (142) UsableRulesProof [EQUIVALENT, 0 ms] (143) QDP (144) QReductionProof [EQUIVALENT, 0 ms] (145) QDP (146) TransformationProof [EQUIVALENT, 0 ms] (147) QDP (148) TransformationProof [EQUIVALENT, 0 ms] (149) QDP (150) TransformationProof [EQUIVALENT, 0 ms] (151) QDP (152) TransformationProof [EQUIVALENT, 0 ms] (153) QDP (154) DependencyGraphProof [EQUIVALENT, 0 ms] (155) QDP (156) TransformationProof [EQUIVALENT, 0 ms] (157) QDP (158) DependencyGraphProof [EQUIVALENT, 0 ms] (159) QDP (160) TransformationProof [EQUIVALENT, 0 ms] (161) QDP (162) TransformationProof [EQUIVALENT, 0 ms] (163) QDP (164) TransformationProof [EQUIVALENT, 0 ms] (165) QDP (166) TransformationProof [EQUIVALENT, 0 ms] (167) QDP (168) DependencyGraphProof [EQUIVALENT, 0 ms] (169) QDP (170) TransformationProof [EQUIVALENT, 0 ms] (171) QDP (172) DependencyGraphProof [EQUIVALENT, 0 ms] (173) QDP (174) TransformationProof [EQUIVALENT, 0 ms] (175) QDP (176) QDPSizeChangeProof [EQUIVALENT, 0 ms] (177) YES (178) QDP (179) UsableRulesProof [EQUIVALENT, 0 ms] (180) QDP (181) QReductionProof [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) TransformationProof [EQUIVALENT, 0 ms] (200) QDP (201) TransformationProof [EQUIVALENT, 0 ms] (202) QDP (203) DependencyGraphProof [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) TransformationProof [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) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (246) QDP (247) TransformationProof [EQUIVALENT, 0 ms] (248) QDP (249) TransformationProof [EQUIVALENT, 0 ms] (250) QDP (251) DependencyGraphProof [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) TransformationProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (278) QDP (279) TransformationProof [EQUIVALENT, 0 ms] (280) QDP (281) DependencyGraphProof [EQUIVALENT, 0 ms] (282) QDP (283) TransformationProof [EQUIVALENT, 0 ms] (284) QDP (285) TransformationProof [EQUIVALENT, 0 ms] (286) QDP (287) TransformationProof [EQUIVALENT, 0 ms] (288) QDP (289) TransformationProof [EQUIVALENT, 0 ms] (290) QDP (291) TransformationProof [EQUIVALENT, 0 ms] (292) QDP (293) TransformationProof [EQUIVALENT, 0 ms] (294) QDP (295) TransformationProof [EQUIVALENT, 0 ms] (296) QDP (297) DependencyGraphProof [EQUIVALENT, 0 ms] (298) AND (299) QDP (300) UsableRulesProof [EQUIVALENT, 0 ms] (301) QDP (302) TransformationProof [EQUIVALENT, 0 ms] (303) QDP (304) DependencyGraphProof [EQUIVALENT, 0 ms] (305) QDP (306) TransformationProof [EQUIVALENT, 0 ms] (307) QDP (308) DependencyGraphProof [EQUIVALENT, 0 ms] (309) QDP (310) InductionCalculusProof [EQUIVALENT, 0 ms] (311) QDP (312) QDP (313) UsableRulesProof [EQUIVALENT, 0 ms] (314) QDP (315) TransformationProof [EQUIVALENT, 0 ms] (316) QDP (317) TransformationProof [EQUIVALENT, 0 ms] (318) QDP (319) TransformationProof [EQUIVALENT, 0 ms] (320) QDP (321) TransformationProof [EQUIVALENT, 0 ms] (322) QDP (323) DependencyGraphProof [EQUIVALENT, 0 ms] (324) QDP (325) InductionCalculusProof [EQUIVALENT, 0 ms] (326) QDP (327) QDP (328) TransformationProof [EQUIVALENT, 0 ms] (329) QDP (330) DependencyGraphProof [EQUIVALENT, 0 ms] (331) QDP (332) TransformationProof [EQUIVALENT, 0 ms] (333) QDP (334) TransformationProof [EQUIVALENT, 0 ms] (335) QDP (336) TransformationProof [EQUIVALENT, 0 ms] (337) QDP (338) TransformationProof [EQUIVALENT, 0 ms] (339) QDP (340) TransformationProof [EQUIVALENT, 0 ms] (341) QDP (342) DependencyGraphProof [EQUIVALENT, 0 ms] (343) AND (344) QDP (345) UsableRulesProof [EQUIVALENT, 0 ms] (346) QDP (347) InductionCalculusProof [EQUIVALENT, 0 ms] (348) QDP (349) QDP (350) UsableRulesProof [EQUIVALENT, 0 ms] (351) QDP (352) TransformationProof [EQUIVALENT, 0 ms] (353) QDP (354) TransformationProof [EQUIVALENT, 0 ms] (355) QDP (356) TransformationProof [EQUIVALENT, 0 ms] (357) QDP (358) TransformationProof [EQUIVALENT, 0 ms] (359) QDP (360) InductionCalculusProof [EQUIVALENT, 0 ms] (361) QDP (362) QDP (363) InductionCalculusProof [EQUIVALENT, 0 ms] (364) QDP (365) QDP (366) UsableRulesProof [EQUIVALENT, 0 ms] (367) QDP (368) QReductionProof [EQUIVALENT, 0 ms] (369) QDP (370) TransformationProof [EQUIVALENT, 0 ms] (371) QDP (372) DependencyGraphProof [EQUIVALENT, 0 ms] (373) QDP (374) TransformationProof [EQUIVALENT, 0 ms] (375) QDP (376) DependencyGraphProof [EQUIVALENT, 0 ms] (377) QDP (378) TransformationProof [EQUIVALENT, 0 ms] (379) QDP (380) TransformationProof [EQUIVALENT, 0 ms] (381) QDP (382) DependencyGraphProof [EQUIVALENT, 0 ms] (383) AND (384) QDP (385) UsableRulesProof [EQUIVALENT, 0 ms] (386) QDP (387) QReductionProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (402) QDP (403) TransformationProof [EQUIVALENT, 0 ms] (404) QDP (405) DependencyGraphProof [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) TransformationProof [EQUIVALENT, 0 ms] (414) QDP (415) DependencyGraphProof [EQUIVALENT, 0 ms] (416) QDP (417) TransformationProof [EQUIVALENT, 0 ms] (418) QDP (419) DependencyGraphProof [EQUIVALENT, 0 ms] (420) QDP (421) TransformationProof [EQUIVALENT, 0 ms] (422) QDP (423) QDPSizeChangeProof [EQUIVALENT, 0 ms] (424) YES (425) QDP (426) UsableRulesProof [EQUIVALENT, 0 ms] (427) QDP (428) QReductionProof [EQUIVALENT, 0 ms] (429) QDP (430) TransformationProof [EQUIVALENT, 3 ms] (431) QDP (432) TransformationProof [EQUIVALENT, 0 ms] (433) QDP (434) TransformationProof [EQUIVALENT, 0 ms] (435) QDP (436) TransformationProof [EQUIVALENT, 0 ms] (437) QDP (438) TransformationProof [EQUIVALENT, 0 ms] (439) QDP (440) TransformationProof [EQUIVALENT, 0 ms] (441) QDP (442) TransformationProof [EQUIVALENT, 0 ms] (443) QDP (444) TransformationProof [EQUIVALENT, 0 ms] (445) QDP (446) TransformationProof [EQUIVALENT, 0 ms] (447) QDP (448) TransformationProof [EQUIVALENT, 0 ms] (449) QDP (450) DependencyGraphProof [EQUIVALENT, 0 ms] (451) QDP (452) TransformationProof [EQUIVALENT, 0 ms] (453) QDP (454) TransformationProof [EQUIVALENT, 0 ms] (455) QDP (456) TransformationProof [EQUIVALENT, 0 ms] (457) QDP (458) TransformationProof [EQUIVALENT, 0 ms] (459) QDP (460) TransformationProof [EQUIVALENT, 0 ms] (461) QDP (462) TransformationProof [EQUIVALENT, 0 ms] (463) QDP (464) TransformationProof [EQUIVALENT, 0 ms] (465) QDP (466) TransformationProof [EQUIVALENT, 0 ms] (467) QDP (468) TransformationProof [EQUIVALENT, 0 ms] (469) QDP (470) TransformationProof [EQUIVALENT, 0 ms] (471) QDP (472) TransformationProof [EQUIVALENT, 0 ms] (473) QDP (474) TransformationProof [EQUIVALENT, 0 ms] (475) QDP (476) DependencyGraphProof [EQUIVALENT, 0 ms] (477) QDP (478) TransformationProof [EQUIVALENT, 0 ms] (479) QDP (480) DependencyGraphProof [EQUIVALENT, 0 ms] (481) AND (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) DependencyGraphProof [EQUIVALENT, 0 ms] (498) QDP (499) QDPOrderProof [EQUIVALENT, 490 ms] (500) QDP (501) DependencyGraphProof [EQUIVALENT, 0 ms] (502) TRUE (503) QDP (504) TransformationProof [EQUIVALENT, 0 ms] (505) QDP (506) DependencyGraphProof [EQUIVALENT, 0 ms] (507) AND (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) QReductionProof [EQUIVALENT, 0 ms] (518) QDP (519) InductionCalculusProof [EQUIVALENT, 0 ms] (520) QDP (521) QDP (522) QReductionProof [EQUIVALENT, 0 ms] (523) QDP (524) InductionCalculusProof [EQUIVALENT, 0 ms] (525) QDP (526) QDP (527) UsableRulesProof [EQUIVALENT, 0 ms] (528) QDP (529) QReductionProof [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) DependencyGraphProof [EQUIVALENT, 0 ms] (538) QDP (539) TransformationProof [EQUIVALENT, 0 ms] (540) QDP (541) TransformationProof [EQUIVALENT, 0 ms] (542) QDP (543) DependencyGraphProof [EQUIVALENT, 0 ms] (544) AND (545) QDP (546) UsableRulesProof [EQUIVALENT, 0 ms] (547) QDP (548) QReductionProof [EQUIVALENT, 0 ms] (549) QDP (550) TransformationProof [EQUIVALENT, 0 ms] (551) QDP (552) TransformationProof [EQUIVALENT, 0 ms] (553) QDP (554) TransformationProof [EQUIVALENT, 0 ms] (555) QDP (556) TransformationProof [EQUIVALENT, 0 ms] (557) QDP (558) TransformationProof [EQUIVALENT, 0 ms] (559) QDP (560) TransformationProof [EQUIVALENT, 0 ms] (561) QDP (562) DependencyGraphProof [EQUIVALENT, 0 ms] (563) QDP (564) TransformationProof [EQUIVALENT, 0 ms] (565) QDP (566) DependencyGraphProof [EQUIVALENT, 0 ms] (567) QDP (568) TransformationProof [EQUIVALENT, 0 ms] (569) QDP (570) TransformationProof [EQUIVALENT, 0 ms] (571) QDP (572) TransformationProof [EQUIVALENT, 0 ms] (573) QDP (574) TransformationProof [EQUIVALENT, 0 ms] (575) QDP (576) DependencyGraphProof [EQUIVALENT, 0 ms] (577) QDP (578) TransformationProof [EQUIVALENT, 0 ms] (579) QDP (580) DependencyGraphProof [EQUIVALENT, 0 ms] (581) QDP (582) TransformationProof [EQUIVALENT, 0 ms] (583) QDP (584) QDPSizeChangeProof [EQUIVALENT, 0 ms] (585) YES (586) QDP (587) UsableRulesProof [EQUIVALENT, 0 ms] (588) QDP (589) QReductionProof [EQUIVALENT, 0 ms] (590) QDP (591) TransformationProof [EQUIVALENT, 0 ms] (592) QDP (593) TransformationProof [EQUIVALENT, 0 ms] (594) QDP (595) TransformationProof [EQUIVALENT, 0 ms] (596) QDP (597) TransformationProof [EQUIVALENT, 0 ms] (598) QDP (599) TransformationProof [EQUIVALENT, 0 ms] (600) QDP (601) TransformationProof [EQUIVALENT, 0 ms] (602) QDP (603) TransformationProof [EQUIVALENT, 0 ms] (604) QDP (605) TransformationProof [EQUIVALENT, 0 ms] (606) QDP (607) TransformationProof [EQUIVALENT, 0 ms] (608) QDP (609) TransformationProof [EQUIVALENT, 0 ms] (610) QDP (611) DependencyGraphProof [EQUIVALENT, 0 ms] (612) QDP (613) TransformationProof [EQUIVALENT, 0 ms] (614) QDP (615) TransformationProof [EQUIVALENT, 0 ms] (616) QDP (617) TransformationProof [EQUIVALENT, 0 ms] (618) QDP (619) TransformationProof [EQUIVALENT, 0 ms] (620) QDP (621) TransformationProof [EQUIVALENT, 0 ms] (622) QDP (623) TransformationProof [EQUIVALENT, 0 ms] (624) QDP (625) TransformationProof [EQUIVALENT, 0 ms] (626) QDP (627) TransformationProof [EQUIVALENT, 0 ms] (628) QDP (629) TransformationProof [EQUIVALENT, 0 ms] (630) QDP (631) TransformationProof [EQUIVALENT, 0 ms] (632) QDP (633) TransformationProof [EQUIVALENT, 0 ms] (634) QDP (635) TransformationProof [EQUIVALENT, 0 ms] (636) QDP (637) DependencyGraphProof [EQUIVALENT, 0 ms] (638) QDP (639) TransformationProof [EQUIVALENT, 0 ms] (640) QDP (641) DependencyGraphProof [EQUIVALENT, 0 ms] (642) AND (643) QDP (644) TransformationProof [EQUIVALENT, 0 ms] (645) QDP (646) TransformationProof [EQUIVALENT, 0 ms] (647) QDP (648) TransformationProof [EQUIVALENT, 0 ms] (649) QDP (650) TransformationProof [EQUIVALENT, 0 ms] (651) QDP (652) TransformationProof [EQUIVALENT, 0 ms] (653) QDP (654) TransformationProof [EQUIVALENT, 0 ms] (655) QDP (656) TransformationProof [EQUIVALENT, 0 ms] (657) QDP (658) DependencyGraphProof [EQUIVALENT, 0 ms] (659) QDP (660) QDPOrderProof [EQUIVALENT, 396 ms] (661) QDP (662) DependencyGraphProof [EQUIVALENT, 0 ms] (663) TRUE (664) QDP (665) TransformationProof [EQUIVALENT, 0 ms] (666) QDP (667) DependencyGraphProof [EQUIVALENT, 0 ms] (668) AND (669) QDP (670) TransformationProof [EQUIVALENT, 0 ms] (671) QDP (672) TransformationProof [EQUIVALENT, 0 ms] (673) QDP (674) TransformationProof [EQUIVALENT, 0 ms] (675) QDP (676) TransformationProof [EQUIVALENT, 0 ms] (677) QDP (678) QReductionProof [EQUIVALENT, 0 ms] (679) QDP (680) InductionCalculusProof [EQUIVALENT, 0 ms] (681) QDP (682) QDP (683) QReductionProof [EQUIVALENT, 0 ms] (684) QDP (685) InductionCalculusProof [EQUIVALENT, 0 ms] (686) QDP (687) QDP (688) DependencyGraphProof [EQUIVALENT, 0 ms] (689) AND (690) QDP (691) MRRProof [EQUIVALENT, 0 ms] (692) QDP (693) PisEmptyProof [EQUIVALENT, 0 ms] (694) YES (695) QDP (696) QDPSizeChangeProof [EQUIVALENT, 0 ms] (697) YES (698) QDP (699) QDPSizeChangeProof [EQUIVALENT, 0 ms] (700) YES (701) QDP (702) QDPSizeChangeProof [EQUIVALENT, 0 ms] (703) YES (704) QDP (705) TransformationProof [EQUIVALENT, 65 ms] (706) QDP (707) TransformationProof [EQUIVALENT, 0 ms] (708) QDP (709) TransformationProof [EQUIVALENT, 0 ms] (710) QDP (711) TransformationProof [EQUIVALENT, 0 ms] (712) QDP (713) TransformationProof [EQUIVALENT, 0 ms] (714) QDP (715) TransformationProof [EQUIVALENT, 0 ms] (716) QDP (717) TransformationProof [EQUIVALENT, 0 ms] (718) QDP (719) UsableRulesProof [EQUIVALENT, 0 ms] (720) QDP (721) QReductionProof [EQUIVALENT, 0 ms] (722) QDP (723) TransformationProof [EQUIVALENT, 28 ms] (724) QDP (725) TransformationProof [EQUIVALENT, 0 ms] (726) QDP (727) TransformationProof [EQUIVALENT, 0 ms] (728) QDP (729) UsableRulesProof [EQUIVALENT, 0 ms] (730) QDP (731) QReductionProof [EQUIVALENT, 0 ms] (732) QDP (733) TransformationProof [EQUIVALENT, 7 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) AND (751) QDP (752) UsableRulesProof [EQUIVALENT, 0 ms] (753) QDP (754) QReductionProof [EQUIVALENT, 0 ms] (755) QDP (756) MNOCProof [EQUIVALENT, 0 ms] (757) QDP (758) NonTerminationLoopProof [COMPLETE, 0 ms] (759) NO (760) QDP (761) UsableRulesProof [EQUIVALENT, 0 ms] (762) QDP (763) QReductionProof [EQUIVALENT, 12 ms] (764) QDP (765) TransformationProof [EQUIVALENT, 0 ms] (766) QDP (767) TransformationProof [EQUIVALENT, 0 ms] (768) QDP (769) DependencyGraphProof [EQUIVALENT, 0 ms] (770) AND (771) QDP (772) UsableRulesProof [EQUIVALENT, 0 ms] (773) QDP (774) QReductionProof [EQUIVALENT, 0 ms] (775) QDP (776) MNOCProof [EQUIVALENT, 0 ms] (777) QDP (778) NonTerminationLoopProof [COMPLETE, 0 ms] (779) NO (780) QDP (781) UsableRulesProof [EQUIVALENT, 0 ms] (782) QDP (783) QReductionProof [EQUIVALENT, 0 ms] (784) QDP (785) TransformationProof [EQUIVALENT, 0 ms] (786) QDP (787) TransformationProof [EQUIVALENT, 0 ms] (788) QDP (789) TransformationProof [EQUIVALENT, 0 ms] (790) QDP (791) TransformationProof [EQUIVALENT, 0 ms] (792) QDP (793) TransformationProof [EQUIVALENT, 0 ms] (794) QDP (795) TransformationProof [EQUIVALENT, 0 ms] (796) QDP (797) UsableRulesProof [EQUIVALENT, 0 ms] (798) QDP (799) TransformationProof [EQUIVALENT, 22 ms] (800) QDP (801) DependencyGraphProof [EQUIVALENT, 0 ms] (802) AND (803) QDP (804) UsableRulesProof [EQUIVALENT, 0 ms] (805) QDP (806) QReductionProof [EQUIVALENT, 0 ms] (807) QDP (808) TransformationProof [EQUIVALENT, 41 ms] (809) QDP (810) DependencyGraphProof [EQUIVALENT, 0 ms] (811) QDP (812) MNOCProof [EQUIVALENT, 0 ms] (813) QDP (814) InductionCalculusProof [EQUIVALENT, 0 ms] (815) QDP (816) QDPPairToRuleProof [EQUIVALENT, 0 ms] (817) AND (818) QDP (819) MNOCProof [EQUIVALENT, 0 ms] (820) QDP (821) InductionCalculusProof [EQUIVALENT, 0 ms] (822) QDP (823) TransformationProof [EQUIVALENT, 0 ms] (824) QDP (825) DependencyGraphProof [EQUIVALENT, 0 ms] (826) QDP (827) TransformationProof [EQUIVALENT, 0 ms] (828) QDP (829) TransformationProof [EQUIVALENT, 0 ms] (830) QDP (831) TransformationProof [EQUIVALENT, 0 ms] (832) QDP (833) TransformationProof [EQUIVALENT, 0 ms] (834) QDP (835) TransformationProof [EQUIVALENT, 0 ms] (836) QDP (837) TransformationProof [EQUIVALENT, 0 ms] (838) QDP (839) TransformationProof [EQUIVALENT, 0 ms] (840) QDP (841) TransformationProof [EQUIVALENT, 0 ms] (842) QDP (843) UsableRulesProof [EQUIVALENT, 0 ms] (844) QDP (845) QReductionProof [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) TransformationProof [EQUIVALENT, 0 ms] (862) QDP (863) TransformationProof [EQUIVALENT, 0 ms] (864) QDP (865) TransformationProof [EQUIVALENT, 0 ms] (866) QDP (867) TransformationProof [EQUIVALENT, 0 ms] (868) QDP (869) TransformationProof [EQUIVALENT, 0 ms] (870) QDP (871) TransformationProof [EQUIVALENT, 0 ms] (872) QDP (873) MNOCProof [EQUIVALENT, 0 ms] (874) QDP (875) InductionCalculusProof [EQUIVALENT, 0 ms] (876) QDP (877) QDP (878) QDPSizeChangeProof [EQUIVALENT, 0 ms] (879) YES (880) QDP (881) UsableRulesProof [EQUIVALENT, 0 ms] (882) QDP (883) QReductionProof [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) TransformationProof [EQUIVALENT, 0 ms] (892) QDP (893) DependencyGraphProof [EQUIVALENT, 0 ms] (894) QDP (895) TransformationProof [EQUIVALENT, 0 ms] (896) QDP (897) DependencyGraphProof [EQUIVALENT, 0 ms] (898) QDP (899) TransformationProof [EQUIVALENT, 0 ms] (900) QDP (901) TransformationProof [EQUIVALENT, 0 ms] (902) QDP (903) TransformationProof [EQUIVALENT, 0 ms] (904) QDP (905) UsableRulesProof [EQUIVALENT, 0 ms] (906) QDP (907) TransformationProof [EQUIVALENT, 0 ms] (908) QDP (909) UsableRulesProof [EQUIVALENT, 0 ms] (910) QDP (911) QReductionProof [EQUIVALENT, 0 ms] (912) QDP (913) TransformationProof [EQUIVALENT, 12 ms] (914) QDP (915) UsableRulesProof [EQUIVALENT, 0 ms] (916) QDP (917) QReductionProof [EQUIVALENT, 0 ms] (918) QDP (919) QDPOrderProof [EQUIVALENT, 92 ms] (920) QDP (921) DependencyGraphProof [EQUIVALENT, 0 ms] (922) QDP (923) MNOCProof [EQUIVALENT, 0 ms] (924) QDP (925) InductionCalculusProof [EQUIVALENT, 0 ms] (926) QDP (927) QDPPairToRuleProof [EQUIVALENT, 0 ms] (928) AND (929) QDP (930) MNOCProof [EQUIVALENT, 4 ms] (931) QDP (932) InductionCalculusProof [EQUIVALENT, 0 ms] (933) QDP (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) QDP (944) QDPSizeChangeProof [EQUIVALENT, 0 ms] (945) YES (946) Narrow [COMPLETE, 0 ms] (947) QDP (948) PisEmptyProof [EQUIVALENT, 0 ms] (949) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) IFR (EQUIVALENT) If Reductions: The following If expression "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" is transformed to "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); primDivNatS0 x y False = Zero; " The following If expression "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" is transformed to "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); primModNatS0 x y False = Succ x; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "absReal x|x >= 0x|otherwise`negate` x; " is transformed to "absReal x = absReal2 x; " "absReal0 x True = `negate` x; " "absReal1 x True = x; absReal1 x False = absReal0 x otherwise; " "absReal2 x = absReal1 x (x >= 0); " The following Function with conditions "gcd' x 0 = x; gcd' x y = gcd' y (x `rem` y); " is transformed to "gcd' x yw = gcd'2 x yw; gcd' x y = gcd'0 x y; " "gcd'0 x y = gcd' y (x `rem` y); " "gcd'1 True x yw = x; gcd'1 yx yy yz = gcd'0 yy yz; " "gcd'2 x yw = gcd'1 (yw == 0) x yw; gcd'2 zu zv = gcd'0 zu zv; " 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 zw zx = gcd3 zw zx; gcd x y = gcd0 x y; " "gcd0 x y = gcd' (abs x) (abs y) where { gcd' x yw = gcd'2 x yw; gcd' x y = gcd'0 x y; ; gcd'0 x y = gcd' y (x `rem` y); ; gcd'1 True x yw = x; gcd'1 yx yy yz = gcd'0 yy yz; ; gcd'2 x yw = gcd'1 (yw == 0) x yw; gcd'2 zu zv = gcd'0 zu zv; } ; " "gcd1 True zw zx = error []; gcd1 zy zz vuu = gcd0 zz vuu; " "gcd2 True zw zx = gcd1 (zx == 0) zw zx; gcd2 vuv vuw vux = gcd0 vuw vux; " "gcd3 zw zx = gcd2 (zw == 0) zw zx; gcd3 vuy vuz = gcd0 vuy vuz; " The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " The following Function with conditions "g x n|even ng (x * x) (n `quot` 2)|otherwisef x (n - 1) (x * y); " is transformed to "g x n = g2 x n; " "g0 x n True = f x (n - 1) (x * y); " "g1 x n True = g (x * x) (n `quot` 2); g1 x n False = g0 x n otherwise; " "g2 x n = g1 x n (even n); " The following Function with conditions "f xv 0 y = y; f x n y = g x n where { g x n|even ng (x * x) (n `quot` 2)|otherwisef x (n - 1) (x * y); } ; " is transformed to "f xv vvu y = f4 xv vvu y; f x n y = f0 x n y; " "f0 x n y = g x n where { g x n = g2 x n; ; g0 x n True = f x (n - 1) (x * y); ; g1 x n True = g (x * x) (n `quot` 2); g1 x n False = g0 x n otherwise; ; g2 x n = g1 x n (even n); } ; " "f3 True xv vvu y = y; f3 vvv vvw vvx vvy = f0 vvw vvx vvy; " "f4 xv vvu y = f3 (vvu == 0) xv vvu y; f4 vvz vwu vwv = f0 vvz vwu vwv; " The following Function with conditions "^ x 0 = 1; ^ x n|n > 0f x (n - 1) x where { f xv 0 y = y; f x n y = g x n where { g x n|even ng (x * x) (n `quot` 2)|otherwisef x (n - 1) (x * y); } ; } ; ^ xw xx = error []; " is transformed to "^ x vwy = pr4 x vwy; ^ x n = pr2 x n; ^ xw xx = pr0 xw xx; " "pr0 xw xx = error []; " "pr2 x n = pr1 x n (n > 0) where { f xv vvu y = f4 xv vvu y; f x n y = f0 x n y; ; f0 x n y = g x n where { g x n = g2 x n; ; g0 x n True = f x (n - 1) (x * y); ; g1 x n True = g (x * x) (n `quot` 2); g1 x n False = g0 x n otherwise; ; g2 x n = g1 x n (even n); } ; ; f3 True xv vvu y = y; f3 vvv vvw vvx vvy = f0 vvw vvx vvy; ; f4 xv vvu y = f3 (vvu == 0) xv vvu y; f4 vvz vwu vwv = f0 vvz vwu vwv; ; pr1 x n True = f x (n - 1) x; pr1 x n False = pr0 x n; } ; pr2 vww vwx = pr0 vww vwx; " "pr3 True x vwy = 1; pr3 vwz vxu vxv = pr2 vxu vxv; " "pr4 x vwy = pr3 (vwy == 0) x vwy; pr4 vxw vxx = pr2 vxw vxx; " The following Function with conditions "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { d = gcd x y; } ; " is transformed to "reduce x y = reduce2 x y; " "reduce2 x y = reduce1 x y (y == 0) where { d = gcd x y; ; reduce0 x y True = x `quot` d :% (y `quot` d); ; reduce1 x y True = error []; reduce1 x y False = reduce0 x y otherwise; } ; " ---------------------------------------- (6) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (7) LetRed (EQUIVALENT) Let/Where Reductions: The bindings of the following Let/Where expression "gcd' (abs x) (abs y) where { gcd' x yw = gcd'2 x yw; gcd' x y = gcd'0 x y; ; gcd'0 x y = gcd' y (x `rem` y); ; gcd'1 True x yw = x; gcd'1 yx yy yz = gcd'0 yy yz; ; gcd'2 x yw = gcd'1 (yw == 0) x yw; gcd'2 zu zv = gcd'0 zu zv; } " are unpacked to the following functions on top level "gcd0Gcd' x yw = gcd0Gcd'2 x yw; gcd0Gcd' x y = gcd0Gcd'0 x y; " "gcd0Gcd'1 True x yw = x; gcd0Gcd'1 yx yy yz = gcd0Gcd'0 yy yz; " "gcd0Gcd'2 x yw = gcd0Gcd'1 (yw == 0) x yw; gcd0Gcd'2 zu zv = gcd0Gcd'0 zu zv; " "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 "reduce2D vxy vxz = gcd vxy vxz; " "reduce2Reduce0 vxy vxz x y True = x `quot` reduce2D vxy vxz :% (y `quot` reduce2D vxy vxz); " "reduce2Reduce1 vxy vxz x y True = error []; reduce2Reduce1 vxy vxz x y False = reduce2Reduce0 vxy vxz x y otherwise; " The bindings of the following Let/Where expression "pr1 x n (n > 0) where { f xv vvu y = f4 xv vvu y; f x n y = f0 x n y; ; f0 x n y = g x n where { g x n = g2 x n; ; g0 x n True = f x (n - 1) (x * y); ; g1 x n True = g (x * x) (n `quot` 2); g1 x n False = g0 x n otherwise; ; g2 x n = g1 x n (even n); } ; ; f3 True xv vvu y = y; f3 vvv vvw vvx vvy = f0 vvw vvx vvy; ; f4 xv vvu y = f3 (vvu == 0) xv vvu y; f4 vvz vwu vwv = f0 vvz vwu vwv; ; pr1 x n True = f x (n - 1) x; pr1 x n False = pr0 x n; } " are unpacked to the following functions on top level "pr2F0 x n y = pr2F0G y x n; " "pr2F3 True xv vvu y = y; pr2F3 vvv vvw vvx vvy = pr2F0 vvw vvx vvy; " "pr2F4 xv vvu y = pr2F3 (vvu == 0) xv vvu y; pr2F4 vvz vwu vwv = pr2F0 vvz vwu vwv; " "pr2F xv vvu y = pr2F4 xv vvu y; pr2F x n y = pr2F0 x n y; " "pr2Pr1 x n True = pr2F x (n - 1) x; pr2Pr1 x n False = pr0 x n; " The bindings of the following Let/Where expression "g x n where { g x n = g2 x n; ; g0 x n True = f x (n - 1) (x * y); ; g1 x n True = g (x * x) (n `quot` 2); g1 x n False = g0 x n otherwise; ; g2 x n = g1 x n (even n); } " are unpacked to the following functions on top level "pr2F0G1 vyu x n True = pr2F0G vyu (x * x) (n `quot` 2); pr2F0G1 vyu x n False = pr2F0G0 vyu x n otherwise; " "pr2F0G0 vyu x n True = pr2F x (n - 1) (x * vyu); " "pr2F0G vyu x n = pr2F0G2 vyu x n; " "pr2F0G2 vyu x n = pr2F0G1 vyu x n (even n); " ---------------------------------------- (8) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (9) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (10) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (11) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="(^)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="(^) vyv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="(^) vyv3 vyv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="pr4 vyv3 vyv4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="pr3 (vyv4 == fromInt (Pos Zero)) vyv3 vyv4",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="pr3 (primEqInt vyv4 (fromInt (Pos Zero))) vyv3 vyv4",fontsize=16,color="burlywood",shape="box"];4392[label="vyv4/Pos vyv40",fontsize=10,color="white",style="solid",shape="box"];7 -> 4392[label="",style="solid", color="burlywood", weight=9]; 4392 -> 8[label="",style="solid", color="burlywood", weight=3]; 4393[label="vyv4/Neg vyv40",fontsize=10,color="white",style="solid",shape="box"];7 -> 4393[label="",style="solid", color="burlywood", weight=9]; 4393 -> 9[label="",style="solid", color="burlywood", weight=3]; 8[label="pr3 (primEqInt (Pos vyv40) (fromInt (Pos Zero))) vyv3 (Pos vyv40)",fontsize=16,color="burlywood",shape="box"];4394[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];8 -> 4394[label="",style="solid", color="burlywood", weight=9]; 4394 -> 10[label="",style="solid", color="burlywood", weight=3]; 4395[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];8 -> 4395[label="",style="solid", color="burlywood", weight=9]; 4395 -> 11[label="",style="solid", color="burlywood", weight=3]; 9[label="pr3 (primEqInt (Neg vyv40) (fromInt (Pos Zero))) vyv3 (Neg vyv40)",fontsize=16,color="burlywood",shape="box"];4396[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];9 -> 4396[label="",style="solid", color="burlywood", weight=9]; 4396 -> 12[label="",style="solid", color="burlywood", weight=3]; 4397[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 4397[label="",style="solid", color="burlywood", weight=9]; 4397 -> 13[label="",style="solid", color="burlywood", weight=3]; 10[label="pr3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];10 -> 14[label="",style="solid", color="black", weight=3]; 11[label="pr3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];11 -> 15[label="",style="solid", color="black", weight=3]; 12[label="pr3 (primEqInt (Neg (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 13[label="pr3 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 14[label="pr3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 15[label="pr3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 16[label="pr3 (primEqInt (Neg (Succ vyv400)) (Pos Zero)) vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 17[label="pr3 (primEqInt (Neg Zero) (Pos Zero)) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 18[label="pr3 False vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 19[label="pr3 True vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 20[label="pr3 False vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 21[label="pr3 True vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 22[label="pr2 vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 23[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];23 -> 27[label="",style="solid", color="black", weight=3]; 24[label="pr2 vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 25 -> 23[label="",style="dashed", color="red", weight=0]; 25[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];26[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (Pos (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];26 -> 29[label="",style="solid", color="black", weight=3]; 27[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];27 -> 30[label="",style="solid", color="black", weight=3]; 28[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (Neg (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];28 -> 31[label="",style="solid", color="black", weight=3]; 29[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (compare (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];29 -> 32[label="",style="solid", color="black", weight=3]; 30[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];30 -> 33[label="",style="dashed", color="green", weight=3]; 30 -> 34[label="",style="dashed", color="green", weight=3]; 31[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (compare (Neg (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 32[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 33[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];33 -> 37[label="",style="solid", color="black", weight=3]; 34 -> 33[label="",style="dashed", color="red", weight=0]; 34[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];35[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (primCmpInt (Neg (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];35 -> 38[label="",style="solid", color="black", weight=3]; 36[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];36 -> 39[label="",style="solid", color="black", weight=3]; 37[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];38[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (primCmpInt (Neg (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];38 -> 40[label="",style="solid", color="black", weight=3]; 39[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpNat (Succ vyv400) Zero == GT)",fontsize=16,color="black",shape="box"];39 -> 41[label="",style="solid", color="black", weight=3]; 40[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (LT == GT)",fontsize=16,color="black",shape="box"];40 -> 42[label="",style="solid", color="black", weight=3]; 41[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (GT == GT)",fontsize=16,color="black",shape="box"];41 -> 43[label="",style="solid", color="black", weight=3]; 42[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) False",fontsize=16,color="black",shape="box"];42 -> 44[label="",style="solid", color="black", weight=3]; 43[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) True",fontsize=16,color="black",shape="box"];43 -> 45[label="",style="solid", color="black", weight=3]; 44[label="pr0 vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];44 -> 46[label="",style="solid", color="black", weight=3]; 45 -> 47[label="",style="dashed", color="red", weight=0]; 45[label="pr2F vyv3 (Pos (Succ vyv400) - fromInt (Pos (Succ Zero))) vyv3",fontsize=16,color="magenta"];45 -> 48[label="",style="dashed", color="magenta", weight=3]; 46[label="error []",fontsize=16,color="black",shape="box"];46 -> 49[label="",style="solid", color="black", weight=3]; 48 -> 33[label="",style="dashed", color="red", weight=0]; 48[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];47[label="pr2F vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="triangle"];47 -> 50[label="",style="solid", color="black", weight=3]; 49[label="error []",fontsize=16,color="red",shape="box"];50[label="pr2F4 vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];50 -> 51[label="",style="solid", color="black", weight=3]; 51[label="pr2F3 (Pos (Succ vyv400) - vyv5 == fromInt (Pos Zero)) vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];51 -> 52[label="",style="solid", color="black", weight=3]; 52[label="pr2F3 (primEqInt (Pos (Succ vyv400) - vyv5) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];52 -> 53[label="",style="solid", color="black", weight=3]; 53[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) vyv5) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) vyv5) vyv3",fontsize=16,color="burlywood",shape="box"];4398[label="vyv5/Pos vyv50",fontsize=10,color="white",style="solid",shape="box"];53 -> 4398[label="",style="solid", color="burlywood", weight=9]; 4398 -> 54[label="",style="solid", color="burlywood", weight=3]; 4399[label="vyv5/Neg vyv50",fontsize=10,color="white",style="solid",shape="box"];53 -> 4399[label="",style="solid", color="burlywood", weight=9]; 4399 -> 55[label="",style="solid", color="burlywood", weight=3]; 54[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) (Pos vyv50)) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) (Pos vyv50)) vyv3",fontsize=16,color="black",shape="box"];54 -> 56[label="",style="solid", color="black", weight=3]; 55[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) (Neg vyv50)) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) (Neg vyv50)) vyv3",fontsize=16,color="black",shape="box"];55 -> 57[label="",style="solid", color="black", weight=3]; 56[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) vyv50) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) vyv50) vyv3",fontsize=16,color="burlywood",shape="box"];4400[label="vyv50/Succ vyv500",fontsize=10,color="white",style="solid",shape="box"];56 -> 4400[label="",style="solid", color="burlywood", weight=9]; 4400 -> 58[label="",style="solid", color="burlywood", weight=3]; 4401[label="vyv50/Zero",fontsize=10,color="white",style="solid",shape="box"];56 -> 4401[label="",style="solid", color="burlywood", weight=9]; 4401 -> 59[label="",style="solid", color="burlywood", weight=3]; 57[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) vyv50)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) vyv50)) vyv3",fontsize=16,color="burlywood",shape="box"];4402[label="vyv50/Succ vyv500",fontsize=10,color="white",style="solid",shape="box"];57 -> 4402[label="",style="solid", color="burlywood", weight=9]; 4402 -> 60[label="",style="solid", color="burlywood", weight=3]; 4403[label="vyv50/Zero",fontsize=10,color="white",style="solid",shape="box"];57 -> 4403[label="",style="solid", color="burlywood", weight=9]; 4403 -> 61[label="",style="solid", color="burlywood", weight=3]; 58[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) (Succ vyv500)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) (Succ vyv500)) vyv3",fontsize=16,color="black",shape="box"];58 -> 62[label="",style="solid", color="black", weight=3]; 59[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) Zero) vyv3",fontsize=16,color="black",shape="box"];59 -> 63[label="",style="solid", color="black", weight=3]; 60[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) (Succ vyv500))) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) (Succ vyv500))) vyv3",fontsize=16,color="black",shape="box"];60 -> 64[label="",style="solid", color="black", weight=3]; 61[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) Zero)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) Zero)) vyv3",fontsize=16,color="black",shape="box"];61 -> 65[label="",style="solid", color="black", weight=3]; 62[label="pr2F3 (primEqInt (primMinusNat vyv400 vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv400 vyv500) vyv3",fontsize=16,color="burlywood",shape="triangle"];4404[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];62 -> 4404[label="",style="solid", color="burlywood", weight=9]; 4404 -> 66[label="",style="solid", color="burlywood", weight=3]; 4405[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];62 -> 4405[label="",style="solid", color="burlywood", weight=9]; 4405 -> 67[label="",style="solid", color="burlywood", weight=3]; 63[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="triangle"];63 -> 68[label="",style="solid", color="black", weight=3]; 64 -> 63[label="",style="dashed", color="red", weight=0]; 64[label="pr2F3 (primEqInt (Pos (Succ (Succ (primPlusNat vyv400 vyv500)))) (fromInt (Pos Zero))) vyv3 (Pos (Succ (Succ (primPlusNat vyv400 vyv500)))) vyv3",fontsize=16,color="magenta"];64 -> 69[label="",style="dashed", color="magenta", weight=3]; 65 -> 63[label="",style="dashed", color="red", weight=0]; 65[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];66[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) vyv500) vyv3",fontsize=16,color="burlywood",shape="box"];4406[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];66 -> 4406[label="",style="solid", color="burlywood", weight=9]; 4406 -> 70[label="",style="solid", color="burlywood", weight=3]; 4407[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];66 -> 4407[label="",style="solid", color="burlywood", weight=9]; 4407 -> 71[label="",style="solid", color="burlywood", weight=3]; 67[label="pr2F3 (primEqInt (primMinusNat Zero vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero vyv500) vyv3",fontsize=16,color="burlywood",shape="box"];4408[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];67 -> 4408[label="",style="solid", color="burlywood", weight=9]; 4408 -> 72[label="",style="solid", color="burlywood", weight=3]; 4409[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 4409[label="",style="solid", color="burlywood", weight=9]; 4409 -> 73[label="",style="solid", color="burlywood", weight=3]; 68[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];68 -> 74[label="",style="solid", color="black", weight=3]; 69[label="Succ (primPlusNat vyv400 vyv500)",fontsize=16,color="green",shape="box"];69 -> 75[label="",style="dashed", color="green", weight=3]; 70[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];70 -> 76[label="",style="solid", color="black", weight=3]; 71[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) Zero) vyv3",fontsize=16,color="black",shape="box"];71 -> 77[label="",style="solid", color="black", weight=3]; 72[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];72 -> 78[label="",style="solid", color="black", weight=3]; 73[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero Zero) vyv3",fontsize=16,color="black",shape="box"];73 -> 79[label="",style="solid", color="black", weight=3]; 74[label="pr2F3 False vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];74 -> 80[label="",style="solid", color="black", weight=3]; 75[label="primPlusNat vyv400 vyv500",fontsize=16,color="burlywood",shape="triangle"];4410[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];75 -> 4410[label="",style="solid", color="burlywood", weight=9]; 4410 -> 81[label="",style="solid", color="burlywood", weight=3]; 4411[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];75 -> 4411[label="",style="solid", color="burlywood", weight=9]; 4411 -> 82[label="",style="solid", color="burlywood", weight=3]; 76 -> 62[label="",style="dashed", color="red", weight=0]; 76[label="pr2F3 (primEqInt (primMinusNat vyv4000 vyv5000) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv4000 vyv5000) vyv3",fontsize=16,color="magenta"];76 -> 83[label="",style="dashed", color="magenta", weight=3]; 76 -> 84[label="",style="dashed", color="magenta", weight=3]; 77 -> 63[label="",style="dashed", color="red", weight=0]; 77[label="pr2F3 (primEqInt (Pos (Succ vyv4000)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv4000)) vyv3",fontsize=16,color="magenta"];77 -> 85[label="",style="dashed", color="magenta", weight=3]; 78[label="pr2F3 (primEqInt (Neg (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];78 -> 86[label="",style="solid", color="black", weight=3]; 79[label="pr2F3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];79 -> 87[label="",style="solid", color="black", weight=3]; 80 -> 2999[label="",style="dashed", color="red", weight=0]; 80[label="pr2F0 vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];80 -> 3000[label="",style="dashed", color="magenta", weight=3]; 80 -> 3001[label="",style="dashed", color="magenta", weight=3]; 80 -> 3002[label="",style="dashed", color="magenta", weight=3]; 81[label="primPlusNat (Succ vyv4000) vyv500",fontsize=16,color="burlywood",shape="box"];4412[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];81 -> 4412[label="",style="solid", color="burlywood", weight=9]; 4412 -> 89[label="",style="solid", color="burlywood", weight=3]; 4413[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];81 -> 4413[label="",style="solid", color="burlywood", weight=9]; 4413 -> 90[label="",style="solid", color="burlywood", weight=3]; 82[label="primPlusNat Zero vyv500",fontsize=16,color="burlywood",shape="box"];4414[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];82 -> 4414[label="",style="solid", color="burlywood", weight=9]; 4414 -> 91[label="",style="solid", color="burlywood", weight=3]; 4415[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];82 -> 4415[label="",style="solid", color="burlywood", weight=9]; 4415 -> 92[label="",style="solid", color="burlywood", weight=3]; 83[label="vyv5000",fontsize=16,color="green",shape="box"];84[label="vyv4000",fontsize=16,color="green",shape="box"];85[label="vyv4000",fontsize=16,color="green",shape="box"];86[label="pr2F3 (primEqInt (Neg (Succ vyv5000)) (Pos Zero)) vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];86 -> 93[label="",style="solid", color="black", weight=3]; 87[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];87 -> 94[label="",style="solid", color="black", weight=3]; 3000[label="vyv3",fontsize=16,color="green",shape="box"];3001[label="Pos (Succ vyv400)",fontsize=16,color="green",shape="box"];3002[label="vyv3",fontsize=16,color="green",shape="box"];2999[label="pr2F0 vyv183 vyv222 vyv187",fontsize=16,color="black",shape="triangle"];2999 -> 3016[label="",style="solid", color="black", weight=3]; 89[label="primPlusNat (Succ vyv4000) (Succ vyv5000)",fontsize=16,color="black",shape="box"];89 -> 96[label="",style="solid", color="black", weight=3]; 90[label="primPlusNat (Succ vyv4000) Zero",fontsize=16,color="black",shape="box"];90 -> 97[label="",style="solid", color="black", weight=3]; 91[label="primPlusNat Zero (Succ vyv5000)",fontsize=16,color="black",shape="box"];91 -> 98[label="",style="solid", color="black", weight=3]; 92[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];92 -> 99[label="",style="solid", color="black", weight=3]; 93[label="pr2F3 False vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];93 -> 100[label="",style="solid", color="black", weight=3]; 94[label="pr2F3 True vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];94 -> 101[label="",style="solid", color="black", weight=3]; 3016[label="pr2F0G vyv187 vyv183 vyv222",fontsize=16,color="black",shape="triangle"];3016 -> 3017[label="",style="solid", color="black", weight=3]; 96[label="Succ (Succ (primPlusNat vyv4000 vyv5000))",fontsize=16,color="green",shape="box"];96 -> 103[label="",style="dashed", color="green", weight=3]; 97[label="Succ vyv4000",fontsize=16,color="green",shape="box"];98[label="Succ vyv5000",fontsize=16,color="green",shape="box"];99[label="Zero",fontsize=16,color="green",shape="box"];100 -> 2999[label="",style="dashed", color="red", weight=0]; 100[label="pr2F0 vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="magenta"];100 -> 3003[label="",style="dashed", color="magenta", weight=3]; 100 -> 3004[label="",style="dashed", color="magenta", weight=3]; 100 -> 3005[label="",style="dashed", color="magenta", weight=3]; 101[label="vyv3",fontsize=16,color="green",shape="box"];3017[label="pr2F0G2 vyv187 vyv183 vyv222",fontsize=16,color="black",shape="box"];3017 -> 3018[label="",style="solid", color="black", weight=3]; 103 -> 75[label="",style="dashed", color="red", weight=0]; 103[label="primPlusNat vyv4000 vyv5000",fontsize=16,color="magenta"];103 -> 106[label="",style="dashed", color="magenta", weight=3]; 103 -> 107[label="",style="dashed", color="magenta", weight=3]; 3003[label="vyv3",fontsize=16,color="green",shape="box"];3004[label="Neg (Succ vyv5000)",fontsize=16,color="green",shape="box"];3005[label="vyv3",fontsize=16,color="green",shape="box"];3018[label="pr2F0G1 vyv187 vyv183 vyv222 (even vyv222)",fontsize=16,color="black",shape="box"];3018 -> 3019[label="",style="solid", color="black", weight=3]; 106[label="vyv5000",fontsize=16,color="green",shape="box"];107[label="vyv4000",fontsize=16,color="green",shape="box"];3019[label="pr2F0G1 vyv187 vyv183 vyv222 (primEvenInt vyv222)",fontsize=16,color="burlywood",shape="box"];4416[label="vyv222/Pos vyv2220",fontsize=10,color="white",style="solid",shape="box"];3019 -> 4416[label="",style="solid", color="burlywood", weight=9]; 4416 -> 3020[label="",style="solid", color="burlywood", weight=3]; 4417[label="vyv222/Neg vyv2220",fontsize=10,color="white",style="solid",shape="box"];3019 -> 4417[label="",style="solid", color="burlywood", weight=9]; 4417 -> 3021[label="",style="solid", color="burlywood", weight=3]; 3020[label="pr2F0G1 vyv187 vyv183 (Pos vyv2220) (primEvenInt (Pos vyv2220))",fontsize=16,color="black",shape="box"];3020 -> 3022[label="",style="solid", color="black", weight=3]; 3021[label="pr2F0G1 vyv187 vyv183 (Neg vyv2220) (primEvenInt (Neg vyv2220))",fontsize=16,color="black",shape="box"];3021 -> 3023[label="",style="solid", color="black", weight=3]; 3022[label="pr2F0G1 vyv187 vyv183 (Pos vyv2220) (primEvenNat vyv2220)",fontsize=16,color="burlywood",shape="box"];4418[label="vyv2220/Succ vyv22200",fontsize=10,color="white",style="solid",shape="box"];3022 -> 4418[label="",style="solid", color="burlywood", weight=9]; 4418 -> 3024[label="",style="solid", color="burlywood", weight=3]; 4419[label="vyv2220/Zero",fontsize=10,color="white",style="solid",shape="box"];3022 -> 4419[label="",style="solid", color="burlywood", weight=9]; 4419 -> 3025[label="",style="solid", color="burlywood", weight=3]; 3023[label="pr2F0G1 vyv187 vyv183 (Neg vyv2220) (primEvenNat vyv2220)",fontsize=16,color="burlywood",shape="box"];4420[label="vyv2220/Succ vyv22200",fontsize=10,color="white",style="solid",shape="box"];3023 -> 4420[label="",style="solid", color="burlywood", weight=9]; 4420 -> 3026[label="",style="solid", color="burlywood", weight=3]; 4421[label="vyv2220/Zero",fontsize=10,color="white",style="solid",shape="box"];3023 -> 4421[label="",style="solid", color="burlywood", weight=9]; 4421 -> 3027[label="",style="solid", color="burlywood", weight=3]; 3024[label="pr2F0G1 vyv187 vyv183 (Pos (Succ vyv22200)) (primEvenNat (Succ vyv22200))",fontsize=16,color="burlywood",shape="box"];4422[label="vyv22200/Succ vyv222000",fontsize=10,color="white",style="solid",shape="box"];3024 -> 4422[label="",style="solid", color="burlywood", weight=9]; 4422 -> 3028[label="",style="solid", color="burlywood", weight=3]; 4423[label="vyv22200/Zero",fontsize=10,color="white",style="solid",shape="box"];3024 -> 4423[label="",style="solid", color="burlywood", weight=9]; 4423 -> 3029[label="",style="solid", color="burlywood", weight=3]; 3025[label="pr2F0G1 vyv187 vyv183 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3025 -> 3030[label="",style="solid", color="black", weight=3]; 3026[label="pr2F0G1 vyv187 vyv183 (Neg (Succ vyv22200)) (primEvenNat (Succ vyv22200))",fontsize=16,color="burlywood",shape="box"];4424[label="vyv22200/Succ vyv222000",fontsize=10,color="white",style="solid",shape="box"];3026 -> 4424[label="",style="solid", color="burlywood", weight=9]; 4424 -> 3031[label="",style="solid", color="burlywood", weight=3]; 4425[label="vyv22200/Zero",fontsize=10,color="white",style="solid",shape="box"];3026 -> 4425[label="",style="solid", color="burlywood", weight=9]; 4425 -> 3032[label="",style="solid", color="burlywood", weight=3]; 3027[label="pr2F0G1 vyv187 vyv183 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3027 -> 3033[label="",style="solid", color="black", weight=3]; 3028[label="pr2F0G1 vyv187 vyv183 (Pos (Succ (Succ vyv222000))) (primEvenNat (Succ (Succ vyv222000)))",fontsize=16,color="black",shape="box"];3028 -> 3034[label="",style="solid", color="black", weight=3]; 3029[label="pr2F0G1 vyv187 vyv183 (Pos (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3029 -> 3035[label="",style="solid", color="black", weight=3]; 3030[label="pr2F0G1 vyv187 vyv183 (Pos Zero) True",fontsize=16,color="black",shape="box"];3030 -> 3036[label="",style="solid", color="black", weight=3]; 3031[label="pr2F0G1 vyv187 vyv183 (Neg (Succ (Succ vyv222000))) (primEvenNat (Succ (Succ vyv222000)))",fontsize=16,color="black",shape="box"];3031 -> 3037[label="",style="solid", color="black", weight=3]; 3032[label="pr2F0G1 vyv187 vyv183 (Neg (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3032 -> 3038[label="",style="solid", color="black", weight=3]; 3033[label="pr2F0G1 vyv187 vyv183 (Neg Zero) True",fontsize=16,color="black",shape="box"];3033 -> 3039[label="",style="solid", color="black", weight=3]; 3034 -> 3147[label="",style="dashed", color="red", weight=0]; 3034[label="pr2F0G1 vyv187 vyv183 (Pos (Succ (Succ vyv222000))) (primEvenNat vyv222000)",fontsize=16,color="magenta"];3034 -> 3148[label="",style="dashed", color="magenta", weight=3]; 3034 -> 3149[label="",style="dashed", color="magenta", weight=3]; 3034 -> 3150[label="",style="dashed", color="magenta", weight=3]; 3034 -> 3151[label="",style="dashed", color="magenta", weight=3]; 3035[label="pr2F0G1 vyv187 vyv183 (Pos (Succ Zero)) False",fontsize=16,color="black",shape="box"];3035 -> 3042[label="",style="solid", color="black", weight=3]; 3036 -> 3016[label="",style="dashed", color="red", weight=0]; 3036[label="pr2F0G vyv187 (vyv183 * vyv183) (Pos Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3036 -> 3043[label="",style="dashed", color="magenta", weight=3]; 3036 -> 3044[label="",style="dashed", color="magenta", weight=3]; 3037 -> 3379[label="",style="dashed", color="red", weight=0]; 3037[label="pr2F0G1 vyv187 vyv183 (Neg (Succ (Succ vyv222000))) (primEvenNat vyv222000)",fontsize=16,color="magenta"];3037 -> 3380[label="",style="dashed", color="magenta", weight=3]; 3037 -> 3381[label="",style="dashed", color="magenta", weight=3]; 3037 -> 3382[label="",style="dashed", color="magenta", weight=3]; 3037 -> 3383[label="",style="dashed", color="magenta", weight=3]; 3038 -> 3175[label="",style="dashed", color="red", weight=0]; 3038[label="pr2F0G1 vyv187 vyv183 (Neg (Succ Zero)) False",fontsize=16,color="magenta"];3038 -> 3176[label="",style="dashed", color="magenta", weight=3]; 3038 -> 3177[label="",style="dashed", color="magenta", weight=3]; 3038 -> 3178[label="",style="dashed", color="magenta", weight=3]; 3039 -> 3016[label="",style="dashed", color="red", weight=0]; 3039[label="pr2F0G vyv187 (vyv183 * vyv183) (Neg Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3039 -> 3048[label="",style="dashed", color="magenta", weight=3]; 3039 -> 3049[label="",style="dashed", color="magenta", weight=3]; 3148[label="vyv222000",fontsize=16,color="green",shape="box"];3149[label="vyv183",fontsize=16,color="green",shape="box"];3150[label="vyv187",fontsize=16,color="green",shape="box"];3151[label="Succ vyv222000",fontsize=16,color="green",shape="box"];3147[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat vyv229)",fontsize=16,color="burlywood",shape="triangle"];4426[label="vyv229/Succ vyv2290",fontsize=10,color="white",style="solid",shape="box"];3147 -> 4426[label="",style="solid", color="burlywood", weight=9]; 4426 -> 3160[label="",style="solid", color="burlywood", weight=3]; 4427[label="vyv229/Zero",fontsize=10,color="white",style="solid",shape="box"];3147 -> 4427[label="",style="solid", color="burlywood", weight=9]; 4427 -> 3161[label="",style="solid", color="burlywood", weight=3]; 3042[label="pr2F0G0 vyv187 vyv183 (Pos (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];3042 -> 3053[label="",style="solid", color="black", weight=3]; 3043[label="vyv183 * vyv183",fontsize=16,color="blue",shape="box"];4428[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4428[label="",style="solid", color="blue", weight=9]; 4428 -> 3054[label="",style="solid", color="blue", weight=3]; 4429[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4429[label="",style="solid", color="blue", weight=9]; 4429 -> 3055[label="",style="solid", color="blue", weight=3]; 4430[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4430[label="",style="solid", color="blue", weight=9]; 4430 -> 3056[label="",style="solid", color="blue", weight=3]; 4431[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4431[label="",style="solid", color="blue", weight=9]; 4431 -> 3057[label="",style="solid", color="blue", weight=3]; 4432[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4432[label="",style="solid", color="blue", weight=9]; 4432 -> 3058[label="",style="solid", color="blue", weight=3]; 3044[label="Pos Zero `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3044 -> 3059[label="",style="solid", color="black", weight=3]; 3380[label="Succ vyv222000",fontsize=16,color="green",shape="box"];3381[label="vyv187",fontsize=16,color="green",shape="box"];3382[label="vyv222000",fontsize=16,color="green",shape="box"];3383[label="vyv183",fontsize=16,color="green",shape="box"];3379[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat vyv251)",fontsize=16,color="burlywood",shape="triangle"];4433[label="vyv251/Succ vyv2510",fontsize=10,color="white",style="solid",shape="box"];3379 -> 4433[label="",style="solid", color="burlywood", weight=9]; 4433 -> 3400[label="",style="solid", color="burlywood", weight=3]; 4434[label="vyv251/Zero",fontsize=10,color="white",style="solid",shape="box"];3379 -> 4434[label="",style="solid", color="burlywood", weight=9]; 4434 -> 3401[label="",style="solid", color="burlywood", weight=3]; 3176[label="vyv183",fontsize=16,color="green",shape="box"];3177[label="vyv187",fontsize=16,color="green",shape="box"];3178[label="Zero",fontsize=16,color="green",shape="box"];3175[label="pr2F0G1 vyv238 vyv239 (Neg (Succ vyv240)) False",fontsize=16,color="black",shape="triangle"];3175 -> 3185[label="",style="solid", color="black", weight=3]; 3048[label="vyv183 * vyv183",fontsize=16,color="blue",shape="box"];4435[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4435[label="",style="solid", color="blue", weight=9]; 4435 -> 3064[label="",style="solid", color="blue", weight=3]; 4436[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4436[label="",style="solid", color="blue", weight=9]; 4436 -> 3065[label="",style="solid", color="blue", weight=3]; 4437[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4437[label="",style="solid", color="blue", weight=9]; 4437 -> 3066[label="",style="solid", color="blue", weight=3]; 4438[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4438[label="",style="solid", color="blue", weight=9]; 4438 -> 3067[label="",style="solid", color="blue", weight=3]; 4439[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4439[label="",style="solid", color="blue", weight=9]; 4439 -> 3068[label="",style="solid", color="blue", weight=3]; 3049[label="Neg Zero `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3049 -> 3069[label="",style="solid", color="black", weight=3]; 3160[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat (Succ vyv2290))",fontsize=16,color="burlywood",shape="box"];4440[label="vyv2290/Succ vyv22900",fontsize=10,color="white",style="solid",shape="box"];3160 -> 4440[label="",style="solid", color="burlywood", weight=9]; 4440 -> 3167[label="",style="solid", color="burlywood", weight=3]; 4441[label="vyv2290/Zero",fontsize=10,color="white",style="solid",shape="box"];3160 -> 4441[label="",style="solid", color="burlywood", weight=9]; 4441 -> 3168[label="",style="solid", color="burlywood", weight=3]; 3161[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3161 -> 3169[label="",style="solid", color="black", weight=3]; 3053[label="pr2F0G0 vyv187 vyv183 (Pos (Succ Zero)) True",fontsize=16,color="black",shape="box"];3053 -> 3073[label="",style="solid", color="black", weight=3]; 3054[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3054 -> 3074[label="",style="solid", color="black", weight=3]; 3055[label="vyv183 * vyv183",fontsize=16,color="burlywood",shape="triangle"];4442[label="vyv183/vyv1830 :% vyv1831",fontsize=10,color="white",style="solid",shape="box"];3055 -> 4442[label="",style="solid", color="burlywood", weight=9]; 4442 -> 3075[label="",style="solid", color="burlywood", weight=3]; 3056[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3056 -> 3076[label="",style="solid", color="black", weight=3]; 3057[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3057 -> 3077[label="",style="solid", color="black", weight=3]; 3058[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3058 -> 3078[label="",style="solid", color="black", weight=3]; 3059 -> 3740[label="",style="dashed", color="red", weight=0]; 3059[label="primQuotInt (Pos Zero) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3059 -> 3741[label="",style="dashed", color="magenta", weight=3]; 3059 -> 3742[label="",style="dashed", color="magenta", weight=3]; 3400[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat (Succ vyv2510))",fontsize=16,color="burlywood",shape="box"];4443[label="vyv2510/Succ vyv25100",fontsize=10,color="white",style="solid",shape="box"];3400 -> 4443[label="",style="solid", color="burlywood", weight=9]; 4443 -> 3443[label="",style="solid", color="burlywood", weight=3]; 4444[label="vyv2510/Zero",fontsize=10,color="white",style="solid",shape="box"];3400 -> 4444[label="",style="solid", color="burlywood", weight=9]; 4444 -> 3444[label="",style="solid", color="burlywood", weight=3]; 3401[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3401 -> 3445[label="",style="solid", color="black", weight=3]; 3185[label="pr2F0G0 vyv238 vyv239 (Neg (Succ vyv240)) otherwise",fontsize=16,color="black",shape="box"];3185 -> 3202[label="",style="solid", color="black", weight=3]; 3064 -> 3054[label="",style="dashed", color="red", weight=0]; 3064[label="vyv183 * vyv183",fontsize=16,color="magenta"];3065 -> 3055[label="",style="dashed", color="red", weight=0]; 3065[label="vyv183 * vyv183",fontsize=16,color="magenta"];3066 -> 3056[label="",style="dashed", color="red", weight=0]; 3066[label="vyv183 * vyv183",fontsize=16,color="magenta"];3067 -> 3057[label="",style="dashed", color="red", weight=0]; 3067[label="vyv183 * vyv183",fontsize=16,color="magenta"];3068 -> 3058[label="",style="dashed", color="red", weight=0]; 3068[label="vyv183 * vyv183",fontsize=16,color="magenta"];3069 -> 3777[label="",style="dashed", color="red", weight=0]; 3069[label="primQuotInt (Neg Zero) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3069 -> 3778[label="",style="dashed", color="magenta", weight=3]; 3069 -> 3779[label="",style="dashed", color="magenta", weight=3]; 3167[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat (Succ (Succ vyv22900)))",fontsize=16,color="black",shape="box"];3167 -> 3186[label="",style="solid", color="black", weight=3]; 3168[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3168 -> 3187[label="",style="solid", color="black", weight=3]; 3169[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) True",fontsize=16,color="black",shape="box"];3169 -> 3188[label="",style="solid", color="black", weight=3]; 3073 -> 3255[label="",style="dashed", color="red", weight=0]; 3073[label="pr2F vyv183 (Pos (Succ Zero) - fromInt (Pos (Succ Zero))) (vyv183 * vyv187)",fontsize=16,color="magenta"];3073 -> 3256[label="",style="dashed", color="magenta", weight=3]; 3073 -> 3257[label="",style="dashed", color="magenta", weight=3]; 3073 -> 3258[label="",style="dashed", color="magenta", weight=3]; 3073 -> 3259[label="",style="dashed", color="magenta", weight=3]; 3074[label="error []",fontsize=16,color="red",shape="box"];3075[label="vyv1830 :% vyv1831 * (vyv1830 :% vyv1831)",fontsize=16,color="black",shape="box"];3075 -> 3092[label="",style="solid", color="black", weight=3]; 3076[label="error []",fontsize=16,color="red",shape="box"];3077[label="error []",fontsize=16,color="red",shape="box"];3078[label="primMulInt vyv183 vyv183",fontsize=16,color="burlywood",shape="box"];4445[label="vyv183/Pos vyv1830",fontsize=10,color="white",style="solid",shape="box"];3078 -> 4445[label="",style="solid", color="burlywood", weight=9]; 4445 -> 3093[label="",style="solid", color="burlywood", weight=3]; 4446[label="vyv183/Neg vyv1830",fontsize=10,color="white",style="solid",shape="box"];3078 -> 4446[label="",style="solid", color="burlywood", weight=9]; 4446 -> 3094[label="",style="solid", color="burlywood", weight=3]; 3741[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="triangle"];3741 -> 3765[label="",style="solid", color="black", weight=3]; 3742[label="Zero",fontsize=16,color="green",shape="box"];3740[label="primQuotInt (Pos vyv2700) vyv284",fontsize=16,color="burlywood",shape="triangle"];4447[label="vyv284/Pos vyv2840",fontsize=10,color="white",style="solid",shape="box"];3740 -> 4447[label="",style="solid", color="burlywood", weight=9]; 4447 -> 3766[label="",style="solid", color="burlywood", weight=3]; 4448[label="vyv284/Neg vyv2840",fontsize=10,color="white",style="solid",shape="box"];3740 -> 4448[label="",style="solid", color="burlywood", weight=9]; 4448 -> 3767[label="",style="solid", color="burlywood", weight=3]; 3443[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat (Succ (Succ vyv25100)))",fontsize=16,color="black",shape="box"];3443 -> 3473[label="",style="solid", color="black", weight=3]; 3444[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3444 -> 3474[label="",style="solid", color="black", weight=3]; 3445[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) True",fontsize=16,color="black",shape="box"];3445 -> 3475[label="",style="solid", color="black", weight=3]; 3202[label="pr2F0G0 vyv238 vyv239 (Neg (Succ vyv240)) True",fontsize=16,color="black",shape="box"];3202 -> 3219[label="",style="solid", color="black", weight=3]; 3778[label="Zero",fontsize=16,color="green",shape="box"];3779 -> 3741[label="",style="dashed", color="red", weight=0]; 3779[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3777[label="primQuotInt (Neg vyv2700) vyv287",fontsize=16,color="burlywood",shape="triangle"];4449[label="vyv287/Pos vyv2870",fontsize=10,color="white",style="solid",shape="box"];3777 -> 4449[label="",style="solid", color="burlywood", weight=9]; 4449 -> 3802[label="",style="solid", color="burlywood", weight=3]; 4450[label="vyv287/Neg vyv2870",fontsize=10,color="white",style="solid",shape="box"];3777 -> 4450[label="",style="solid", color="burlywood", weight=9]; 4450 -> 3803[label="",style="solid", color="burlywood", weight=3]; 3186 -> 3147[label="",style="dashed", color="red", weight=0]; 3186[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat vyv22900)",fontsize=16,color="magenta"];3186 -> 3203[label="",style="dashed", color="magenta", weight=3]; 3187[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) False",fontsize=16,color="black",shape="box"];3187 -> 3204[label="",style="solid", color="black", weight=3]; 3188 -> 3016[label="",style="dashed", color="red", weight=0]; 3188[label="pr2F0G vyv226 (vyv227 * vyv227) (Pos (Succ vyv228) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3188 -> 3205[label="",style="dashed", color="magenta", weight=3]; 3188 -> 3206[label="",style="dashed", color="magenta", weight=3]; 3188 -> 3207[label="",style="dashed", color="magenta", weight=3]; 3256 -> 33[label="",style="dashed", color="red", weight=0]; 3256[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3257[label="vyv183",fontsize=16,color="green",shape="box"];3258[label="vyv187",fontsize=16,color="green",shape="box"];3259[label="Zero",fontsize=16,color="green",shape="box"];3255[label="pr2F vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="triangle"];3255 -> 3265[label="",style="solid", color="black", weight=3]; 3092[label="reduce (vyv1830 * vyv1830) (vyv1831 * vyv1831)",fontsize=16,color="black",shape="box"];3092 -> 3115[label="",style="solid", color="black", weight=3]; 3093[label="primMulInt (Pos vyv1830) (Pos vyv1830)",fontsize=16,color="black",shape="box"];3093 -> 3116[label="",style="solid", color="black", weight=3]; 3094[label="primMulInt (Neg vyv1830) (Neg vyv1830)",fontsize=16,color="black",shape="box"];3094 -> 3117[label="",style="solid", color="black", weight=3]; 3765[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];3766[label="primQuotInt (Pos vyv2700) (Pos vyv2840)",fontsize=16,color="burlywood",shape="box"];4451[label="vyv2840/Succ vyv28400",fontsize=10,color="white",style="solid",shape="box"];3766 -> 4451[label="",style="solid", color="burlywood", weight=9]; 4451 -> 3772[label="",style="solid", color="burlywood", weight=3]; 4452[label="vyv2840/Zero",fontsize=10,color="white",style="solid",shape="box"];3766 -> 4452[label="",style="solid", color="burlywood", weight=9]; 4452 -> 3773[label="",style="solid", color="burlywood", weight=3]; 3767[label="primQuotInt (Pos vyv2700) (Neg vyv2840)",fontsize=16,color="burlywood",shape="box"];4453[label="vyv2840/Succ vyv28400",fontsize=10,color="white",style="solid",shape="box"];3767 -> 4453[label="",style="solid", color="burlywood", weight=9]; 4453 -> 3774[label="",style="solid", color="burlywood", weight=3]; 4454[label="vyv2840/Zero",fontsize=10,color="white",style="solid",shape="box"];3767 -> 4454[label="",style="solid", color="burlywood", weight=9]; 4454 -> 3775[label="",style="solid", color="burlywood", weight=3]; 3473 -> 3379[label="",style="dashed", color="red", weight=0]; 3473[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat vyv25100)",fontsize=16,color="magenta"];3473 -> 3511[label="",style="dashed", color="magenta", weight=3]; 3474 -> 3175[label="",style="dashed", color="red", weight=0]; 3474[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) False",fontsize=16,color="magenta"];3474 -> 3512[label="",style="dashed", color="magenta", weight=3]; 3474 -> 3513[label="",style="dashed", color="magenta", weight=3]; 3474 -> 3514[label="",style="dashed", color="magenta", weight=3]; 3475 -> 3016[label="",style="dashed", color="red", weight=0]; 3475[label="pr2F0G vyv248 (vyv249 * vyv249) (Neg (Succ vyv250) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3475 -> 3515[label="",style="dashed", color="magenta", weight=3]; 3475 -> 3516[label="",style="dashed", color="magenta", weight=3]; 3475 -> 3517[label="",style="dashed", color="magenta", weight=3]; 3219 -> 3229[label="",style="dashed", color="red", weight=0]; 3219[label="pr2F vyv239 (Neg (Succ vyv240) - fromInt (Pos (Succ Zero))) (vyv239 * vyv238)",fontsize=16,color="magenta"];3219 -> 3230[label="",style="dashed", color="magenta", weight=3]; 3802[label="primQuotInt (Neg vyv2700) (Pos vyv2870)",fontsize=16,color="burlywood",shape="box"];4455[label="vyv2870/Succ vyv28700",fontsize=10,color="white",style="solid",shape="box"];3802 -> 4455[label="",style="solid", color="burlywood", weight=9]; 4455 -> 3810[label="",style="solid", color="burlywood", weight=3]; 4456[label="vyv2870/Zero",fontsize=10,color="white",style="solid",shape="box"];3802 -> 4456[label="",style="solid", color="burlywood", weight=9]; 4456 -> 3811[label="",style="solid", color="burlywood", weight=3]; 3803[label="primQuotInt (Neg vyv2700) (Neg vyv2870)",fontsize=16,color="burlywood",shape="box"];4457[label="vyv2870/Succ vyv28700",fontsize=10,color="white",style="solid",shape="box"];3803 -> 4457[label="",style="solid", color="burlywood", weight=9]; 4457 -> 3812[label="",style="solid", color="burlywood", weight=3]; 4458[label="vyv2870/Zero",fontsize=10,color="white",style="solid",shape="box"];3803 -> 4458[label="",style="solid", color="burlywood", weight=9]; 4458 -> 3813[label="",style="solid", color="burlywood", weight=3]; 3203[label="vyv22900",fontsize=16,color="green",shape="box"];3204[label="pr2F0G0 vyv226 vyv227 (Pos (Succ vyv228)) otherwise",fontsize=16,color="black",shape="box"];3204 -> 3220[label="",style="solid", color="black", weight=3]; 3205[label="vyv227 * vyv227",fontsize=16,color="blue",shape="box"];4459[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4459[label="",style="solid", color="blue", weight=9]; 4459 -> 3221[label="",style="solid", color="blue", weight=3]; 4460[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4460[label="",style="solid", color="blue", weight=9]; 4460 -> 3222[label="",style="solid", color="blue", weight=3]; 4461[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4461[label="",style="solid", color="blue", weight=9]; 4461 -> 3223[label="",style="solid", color="blue", weight=3]; 4462[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4462[label="",style="solid", color="blue", weight=9]; 4462 -> 3224[label="",style="solid", color="blue", weight=3]; 4463[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4463[label="",style="solid", color="blue", weight=9]; 4463 -> 3225[label="",style="solid", color="blue", weight=3]; 3206[label="Pos (Succ vyv228) `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3206 -> 3226[label="",style="solid", color="black", weight=3]; 3207[label="vyv226",fontsize=16,color="green",shape="box"];3265[label="pr2F4 vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="box"];3265 -> 3269[label="",style="solid", color="black", weight=3]; 3115[label="reduce2 (vyv1830 * vyv1830) (vyv1831 * vyv1831)",fontsize=16,color="black",shape="box"];3115 -> 3137[label="",style="solid", color="black", weight=3]; 3116[label="Pos (primMulNat vyv1830 vyv1830)",fontsize=16,color="green",shape="box"];3116 -> 3138[label="",style="dashed", color="green", weight=3]; 3117[label="Pos (primMulNat vyv1830 vyv1830)",fontsize=16,color="green",shape="box"];3117 -> 3139[label="",style="dashed", color="green", weight=3]; 3772[label="primQuotInt (Pos vyv2700) (Pos (Succ vyv28400))",fontsize=16,color="black",shape="box"];3772 -> 3804[label="",style="solid", color="black", weight=3]; 3773[label="primQuotInt (Pos vyv2700) (Pos Zero)",fontsize=16,color="black",shape="box"];3773 -> 3805[label="",style="solid", color="black", weight=3]; 3774[label="primQuotInt (Pos vyv2700) (Neg (Succ vyv28400))",fontsize=16,color="black",shape="box"];3774 -> 3806[label="",style="solid", color="black", weight=3]; 3775[label="primQuotInt (Pos vyv2700) (Neg Zero)",fontsize=16,color="black",shape="box"];3775 -> 3807[label="",style="solid", color="black", weight=3]; 3511[label="vyv25100",fontsize=16,color="green",shape="box"];3512[label="vyv249",fontsize=16,color="green",shape="box"];3513[label="vyv248",fontsize=16,color="green",shape="box"];3514[label="vyv250",fontsize=16,color="green",shape="box"];3515[label="vyv249 * vyv249",fontsize=16,color="blue",shape="box"];4464[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4464[label="",style="solid", color="blue", weight=9]; 4464 -> 3533[label="",style="solid", color="blue", weight=3]; 4465[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4465[label="",style="solid", color="blue", weight=9]; 4465 -> 3534[label="",style="solid", color="blue", weight=3]; 4466[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4466[label="",style="solid", color="blue", weight=9]; 4466 -> 3535[label="",style="solid", color="blue", weight=3]; 4467[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4467[label="",style="solid", color="blue", weight=9]; 4467 -> 3536[label="",style="solid", color="blue", weight=3]; 4468[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4468[label="",style="solid", color="blue", weight=9]; 4468 -> 3537[label="",style="solid", color="blue", weight=3]; 3516[label="Neg (Succ vyv250) `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3516 -> 3538[label="",style="solid", color="black", weight=3]; 3517[label="vyv248",fontsize=16,color="green",shape="box"];3230 -> 33[label="",style="dashed", color="red", weight=0]; 3230[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3229[label="pr2F vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="triangle"];3229 -> 3231[label="",style="solid", color="black", weight=3]; 3810[label="primQuotInt (Neg vyv2700) (Pos (Succ vyv28700))",fontsize=16,color="black",shape="box"];3810 -> 3820[label="",style="solid", color="black", weight=3]; 3811[label="primQuotInt (Neg vyv2700) (Pos Zero)",fontsize=16,color="black",shape="box"];3811 -> 3821[label="",style="solid", color="black", weight=3]; 3812[label="primQuotInt (Neg vyv2700) (Neg (Succ vyv28700))",fontsize=16,color="black",shape="box"];3812 -> 3822[label="",style="solid", color="black", weight=3]; 3813[label="primQuotInt (Neg vyv2700) (Neg Zero)",fontsize=16,color="black",shape="box"];3813 -> 3823[label="",style="solid", color="black", weight=3]; 3220[label="pr2F0G0 vyv226 vyv227 (Pos (Succ vyv228)) True",fontsize=16,color="black",shape="box"];3220 -> 3232[label="",style="solid", color="black", weight=3]; 3221 -> 3054[label="",style="dashed", color="red", weight=0]; 3221[label="vyv227 * vyv227",fontsize=16,color="magenta"];3221 -> 3233[label="",style="dashed", color="magenta", weight=3]; 3222 -> 3055[label="",style="dashed", color="red", weight=0]; 3222[label="vyv227 * vyv227",fontsize=16,color="magenta"];3222 -> 3234[label="",style="dashed", color="magenta", weight=3]; 3223 -> 3056[label="",style="dashed", color="red", weight=0]; 3223[label="vyv227 * vyv227",fontsize=16,color="magenta"];3223 -> 3235[label="",style="dashed", color="magenta", weight=3]; 3224 -> 3057[label="",style="dashed", color="red", weight=0]; 3224[label="vyv227 * vyv227",fontsize=16,color="magenta"];3224 -> 3236[label="",style="dashed", color="magenta", weight=3]; 3225 -> 3058[label="",style="dashed", color="red", weight=0]; 3225[label="vyv227 * vyv227",fontsize=16,color="magenta"];3225 -> 3237[label="",style="dashed", color="magenta", weight=3]; 3226 -> 3740[label="",style="dashed", color="red", weight=0]; 3226[label="primQuotInt (Pos (Succ vyv228)) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3226 -> 3745[label="",style="dashed", color="magenta", weight=3]; 3226 -> 3746[label="",style="dashed", color="magenta", weight=3]; 3269 -> 3290[label="",style="dashed", color="red", weight=0]; 3269[label="pr2F3 (Pos (Succ vyv228) - vyv244 == fromInt (Pos Zero)) vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="magenta"];3269 -> 3291[label="",style="dashed", color="magenta", weight=3]; 3137 -> 3547[label="",style="dashed", color="red", weight=0]; 3137[label="reduce2Reduce1 (vyv1830 * vyv1830) (vyv1831 * vyv1831) (vyv1830 * vyv1830) (vyv1831 * vyv1831) (vyv1831 * vyv1831 == fromInt (Pos Zero))",fontsize=16,color="magenta"];3137 -> 3548[label="",style="dashed", color="magenta", weight=3]; 3137 -> 3549[label="",style="dashed", color="magenta", weight=3]; 3137 -> 3550[label="",style="dashed", color="magenta", weight=3]; 3137 -> 3551[label="",style="dashed", color="magenta", weight=3]; 3137 -> 3552[label="",style="dashed", color="magenta", weight=3]; 3138[label="primMulNat vyv1830 vyv1830",fontsize=16,color="burlywood",shape="triangle"];4469[label="vyv1830/Succ vyv18300",fontsize=10,color="white",style="solid",shape="box"];3138 -> 4469[label="",style="solid", color="burlywood", weight=9]; 4469 -> 3170[label="",style="solid", color="burlywood", weight=3]; 4470[label="vyv1830/Zero",fontsize=10,color="white",style="solid",shape="box"];3138 -> 4470[label="",style="solid", color="burlywood", weight=9]; 4470 -> 3171[label="",style="solid", color="burlywood", weight=3]; 3139 -> 3138[label="",style="dashed", color="red", weight=0]; 3139[label="primMulNat vyv1830 vyv1830",fontsize=16,color="magenta"];3139 -> 3172[label="",style="dashed", color="magenta", weight=3]; 3804[label="Pos (primDivNatS vyv2700 (Succ vyv28400))",fontsize=16,color="green",shape="box"];3804 -> 3814[label="",style="dashed", color="green", weight=3]; 3805[label="error []",fontsize=16,color="black",shape="triangle"];3805 -> 3815[label="",style="solid", color="black", weight=3]; 3806[label="Neg (primDivNatS vyv2700 (Succ vyv28400))",fontsize=16,color="green",shape="box"];3806 -> 3816[label="",style="dashed", color="green", weight=3]; 3807 -> 3805[label="",style="dashed", color="red", weight=0]; 3807[label="error []",fontsize=16,color="magenta"];3533 -> 3054[label="",style="dashed", color="red", weight=0]; 3533[label="vyv249 * vyv249",fontsize=16,color="magenta"];3533 -> 3563[label="",style="dashed", color="magenta", weight=3]; 3534 -> 3055[label="",style="dashed", color="red", weight=0]; 3534[label="vyv249 * vyv249",fontsize=16,color="magenta"];3534 -> 3564[label="",style="dashed", color="magenta", weight=3]; 3535 -> 3056[label="",style="dashed", color="red", weight=0]; 3535[label="vyv249 * vyv249",fontsize=16,color="magenta"];3535 -> 3565[label="",style="dashed", color="magenta", weight=3]; 3536 -> 3057[label="",style="dashed", color="red", weight=0]; 3536[label="vyv249 * vyv249",fontsize=16,color="magenta"];3536 -> 3566[label="",style="dashed", color="magenta", weight=3]; 3537 -> 3058[label="",style="dashed", color="red", weight=0]; 3537[label="vyv249 * vyv249",fontsize=16,color="magenta"];3537 -> 3567[label="",style="dashed", color="magenta", weight=3]; 3538 -> 3777[label="",style="dashed", color="red", weight=0]; 3538[label="primQuotInt (Neg (Succ vyv250)) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3538 -> 3782[label="",style="dashed", color="magenta", weight=3]; 3538 -> 3783[label="",style="dashed", color="magenta", weight=3]; 3231[label="pr2F4 vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="box"];3231 -> 3254[label="",style="solid", color="black", weight=3]; 3820[label="Neg (primDivNatS vyv2700 (Succ vyv28700))",fontsize=16,color="green",shape="box"];3820 -> 3829[label="",style="dashed", color="green", weight=3]; 3821 -> 3805[label="",style="dashed", color="red", weight=0]; 3821[label="error []",fontsize=16,color="magenta"];3822[label="Pos (primDivNatS vyv2700 (Succ vyv28700))",fontsize=16,color="green",shape="box"];3822 -> 3830[label="",style="dashed", color="green", weight=3]; 3823 -> 3805[label="",style="dashed", color="red", weight=0]; 3823[label="error []",fontsize=16,color="magenta"];3232 -> 3255[label="",style="dashed", color="red", weight=0]; 3232[label="pr2F vyv227 (Pos (Succ vyv228) - fromInt (Pos (Succ Zero))) (vyv227 * vyv226)",fontsize=16,color="magenta"];3232 -> 3264[label="",style="dashed", color="magenta", weight=3]; 3233[label="vyv227",fontsize=16,color="green",shape="box"];3234[label="vyv227",fontsize=16,color="green",shape="box"];3235[label="vyv227",fontsize=16,color="green",shape="box"];3236[label="vyv227",fontsize=16,color="green",shape="box"];3237[label="vyv227",fontsize=16,color="green",shape="box"];3745 -> 3741[label="",style="dashed", color="red", weight=0]; 3745[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3746[label="Succ vyv228",fontsize=16,color="green",shape="box"];3291 -> 3217[label="",style="dashed", color="red", weight=0]; 3291[label="Pos (Succ vyv228) - vyv244 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3291 -> 3292[label="",style="dashed", color="magenta", weight=3]; 3290[label="pr2F3 vyv246 vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="burlywood",shape="triangle"];4471[label="vyv246/False",fontsize=10,color="white",style="solid",shape="box"];3290 -> 4471[label="",style="solid", color="burlywood", weight=9]; 4471 -> 3293[label="",style="solid", color="burlywood", weight=3]; 4472[label="vyv246/True",fontsize=10,color="white",style="solid",shape="box"];3290 -> 4472[label="",style="solid", color="burlywood", weight=9]; 4472 -> 3294[label="",style="solid", color="burlywood", weight=3]; 3548[label="vyv1830",fontsize=16,color="green",shape="box"];3549[label="vyv1831",fontsize=16,color="green",shape="box"];3550[label="vyv1830",fontsize=16,color="green",shape="box"];3551[label="vyv1831",fontsize=16,color="green",shape="box"];3552[label="vyv1831 * vyv1831 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];4473[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3552 -> 4473[label="",style="solid", color="blue", weight=9]; 4473 -> 3569[label="",style="solid", color="blue", weight=3]; 4474[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3552 -> 4474[label="",style="solid", color="blue", weight=9]; 4474 -> 3570[label="",style="solid", color="blue", weight=3]; 3547[label="reduce2Reduce1 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) vyv268",fontsize=16,color="burlywood",shape="triangle"];4475[label="vyv268/False",fontsize=10,color="white",style="solid",shape="box"];3547 -> 4475[label="",style="solid", color="burlywood", weight=9]; 4475 -> 3571[label="",style="solid", color="burlywood", weight=3]; 4476[label="vyv268/True",fontsize=10,color="white",style="solid",shape="box"];3547 -> 4476[label="",style="solid", color="burlywood", weight=9]; 4476 -> 3572[label="",style="solid", color="burlywood", weight=3]; 3170[label="primMulNat (Succ vyv18300) (Succ vyv18300)",fontsize=16,color="black",shape="box"];3170 -> 3197[label="",style="solid", color="black", weight=3]; 3171[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3171 -> 3198[label="",style="solid", color="black", weight=3]; 3172[label="vyv1830",fontsize=16,color="green",shape="box"];3814[label="primDivNatS vyv2700 (Succ vyv28400)",fontsize=16,color="burlywood",shape="triangle"];4477[label="vyv2700/Succ vyv27000",fontsize=10,color="white",style="solid",shape="box"];3814 -> 4477[label="",style="solid", color="burlywood", weight=9]; 4477 -> 3824[label="",style="solid", color="burlywood", weight=3]; 4478[label="vyv2700/Zero",fontsize=10,color="white",style="solid",shape="box"];3814 -> 4478[label="",style="solid", color="burlywood", weight=9]; 4478 -> 3825[label="",style="solid", color="burlywood", weight=3]; 3815[label="error []",fontsize=16,color="red",shape="box"];3816 -> 3814[label="",style="dashed", color="red", weight=0]; 3816[label="primDivNatS vyv2700 (Succ vyv28400)",fontsize=16,color="magenta"];3816 -> 3826[label="",style="dashed", color="magenta", weight=3]; 3563[label="vyv249",fontsize=16,color="green",shape="box"];3564[label="vyv249",fontsize=16,color="green",shape="box"];3565[label="vyv249",fontsize=16,color="green",shape="box"];3566[label="vyv249",fontsize=16,color="green",shape="box"];3567[label="vyv249",fontsize=16,color="green",shape="box"];3782[label="Succ vyv250",fontsize=16,color="green",shape="box"];3783 -> 3741[label="",style="dashed", color="red", weight=0]; 3783[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3254 -> 3267[label="",style="dashed", color="red", weight=0]; 3254[label="pr2F3 (Neg (Succ vyv240) - vyv243 == fromInt (Pos Zero)) vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="magenta"];3254 -> 3268[label="",style="dashed", color="magenta", weight=3]; 3829 -> 3814[label="",style="dashed", color="red", weight=0]; 3829[label="primDivNatS vyv2700 (Succ vyv28700)",fontsize=16,color="magenta"];3829 -> 3836[label="",style="dashed", color="magenta", weight=3]; 3829 -> 3837[label="",style="dashed", color="magenta", weight=3]; 3830 -> 3814[label="",style="dashed", color="red", weight=0]; 3830[label="primDivNatS vyv2700 (Succ vyv28700)",fontsize=16,color="magenta"];3830 -> 3838[label="",style="dashed", color="magenta", weight=3]; 3830 -> 3839[label="",style="dashed", color="magenta", weight=3]; 3264 -> 33[label="",style="dashed", color="red", weight=0]; 3264[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3292[label="Pos (Succ vyv228) - vyv244",fontsize=16,color="black",shape="triangle"];3292 -> 3318[label="",style="solid", color="black", weight=3]; 3217[label="vyv241 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];3217 -> 3251[label="",style="solid", color="black", weight=3]; 3293[label="pr2F3 False vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="box"];3293 -> 3319[label="",style="solid", color="black", weight=3]; 3294[label="pr2F3 True vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="box"];3294 -> 3320[label="",style="solid", color="black", weight=3]; 3569 -> 3217[label="",style="dashed", color="red", weight=0]; 3569[label="vyv1831 * vyv1831 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3569 -> 3590[label="",style="dashed", color="magenta", weight=3]; 3570 -> 3591[label="",style="dashed", color="red", weight=0]; 3570[label="vyv1831 * vyv1831 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3570 -> 3592[label="",style="dashed", color="magenta", weight=3]; 3571[label="reduce2Reduce1 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) False",fontsize=16,color="black",shape="box"];3571 -> 3594[label="",style="solid", color="black", weight=3]; 3572[label="reduce2Reduce1 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) True",fontsize=16,color="black",shape="box"];3572 -> 3595[label="",style="solid", color="black", weight=3]; 3197 -> 75[label="",style="dashed", color="red", weight=0]; 3197[label="primPlusNat (primMulNat vyv18300 (Succ vyv18300)) (Succ vyv18300)",fontsize=16,color="magenta"];3197 -> 3241[label="",style="dashed", color="magenta", weight=3]; 3197 -> 3242[label="",style="dashed", color="magenta", weight=3]; 3198[label="Zero",fontsize=16,color="green",shape="box"];3824[label="primDivNatS (Succ vyv27000) (Succ vyv28400)",fontsize=16,color="black",shape="box"];3824 -> 3831[label="",style="solid", color="black", weight=3]; 3825[label="primDivNatS Zero (Succ vyv28400)",fontsize=16,color="black",shape="box"];3825 -> 3832[label="",style="solid", color="black", weight=3]; 3826[label="vyv28400",fontsize=16,color="green",shape="box"];3268 -> 3217[label="",style="dashed", color="red", weight=0]; 3268[label="Neg (Succ vyv240) - vyv243 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3268 -> 3271[label="",style="dashed", color="magenta", weight=3]; 3267[label="pr2F3 vyv245 vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="burlywood",shape="triangle"];4479[label="vyv245/False",fontsize=10,color="white",style="solid",shape="box"];3267 -> 4479[label="",style="solid", color="burlywood", weight=9]; 4479 -> 3272[label="",style="solid", color="burlywood", weight=3]; 4480[label="vyv245/True",fontsize=10,color="white",style="solid",shape="box"];3267 -> 4480[label="",style="solid", color="burlywood", weight=9]; 4480 -> 3273[label="",style="solid", color="burlywood", weight=3]; 3836[label="vyv2700",fontsize=16,color="green",shape="box"];3837[label="vyv28700",fontsize=16,color="green",shape="box"];3838[label="vyv2700",fontsize=16,color="green",shape="box"];3839[label="vyv28700",fontsize=16,color="green",shape="box"];3318[label="primMinusInt (Pos (Succ vyv228)) vyv244",fontsize=16,color="burlywood",shape="box"];4481[label="vyv244/Pos vyv2440",fontsize=10,color="white",style="solid",shape="box"];3318 -> 4481[label="",style="solid", color="burlywood", weight=9]; 4481 -> 3349[label="",style="solid", color="burlywood", weight=3]; 4482[label="vyv244/Neg vyv2440",fontsize=10,color="white",style="solid",shape="box"];3318 -> 4482[label="",style="solid", color="burlywood", weight=9]; 4482 -> 3350[label="",style="solid", color="burlywood", weight=3]; 3251[label="primEqInt vyv241 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4483[label="vyv241/Pos vyv2410",fontsize=10,color="white",style="solid",shape="box"];3251 -> 4483[label="",style="solid", color="burlywood", weight=9]; 4483 -> 3287[label="",style="solid", color="burlywood", weight=3]; 4484[label="vyv241/Neg vyv2410",fontsize=10,color="white",style="solid",shape="box"];3251 -> 4484[label="",style="solid", color="burlywood", weight=9]; 4484 -> 3288[label="",style="solid", color="burlywood", weight=3]; 3319 -> 2999[label="",style="dashed", color="red", weight=0]; 3319[label="pr2F0 vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="magenta"];3319 -> 3351[label="",style="dashed", color="magenta", weight=3]; 3319 -> 3352[label="",style="dashed", color="magenta", weight=3]; 3319 -> 3353[label="",style="dashed", color="magenta", weight=3]; 3320[label="vyv227 * vyv226",fontsize=16,color="blue",shape="box"];4485[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4485[label="",style="solid", color="blue", weight=9]; 4485 -> 3354[label="",style="solid", color="blue", weight=3]; 4486[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4486[label="",style="solid", color="blue", weight=9]; 4486 -> 3355[label="",style="solid", color="blue", weight=3]; 4487[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4487[label="",style="solid", color="blue", weight=9]; 4487 -> 3356[label="",style="solid", color="blue", weight=3]; 4488[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4488[label="",style="solid", color="blue", weight=9]; 4488 -> 3357[label="",style="solid", color="blue", weight=3]; 4489[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4489[label="",style="solid", color="blue", weight=9]; 4489 -> 3358[label="",style="solid", color="blue", weight=3]; 3590 -> 3058[label="",style="dashed", color="red", weight=0]; 3590[label="vyv1831 * vyv1831",fontsize=16,color="magenta"];3590 -> 3597[label="",style="dashed", color="magenta", weight=3]; 3592 -> 3057[label="",style="dashed", color="red", weight=0]; 3592[label="vyv1831 * vyv1831",fontsize=16,color="magenta"];3592 -> 3598[label="",style="dashed", color="magenta", weight=3]; 3591[label="vyv269 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];4490[label="vyv269/Integer vyv2690",fontsize=10,color="white",style="solid",shape="box"];3591 -> 4490[label="",style="solid", color="burlywood", weight=9]; 4490 -> 3599[label="",style="solid", color="burlywood", weight=3]; 3594[label="reduce2Reduce0 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) otherwise",fontsize=16,color="black",shape="box"];3594 -> 3612[label="",style="solid", color="black", weight=3]; 3595[label="error []",fontsize=16,color="black",shape="box"];3595 -> 3613[label="",style="solid", color="black", weight=3]; 3241[label="Succ vyv18300",fontsize=16,color="green",shape="box"];3242[label="primMulNat vyv18300 (Succ vyv18300)",fontsize=16,color="burlywood",shape="box"];4491[label="vyv18300/Succ vyv183000",fontsize=10,color="white",style="solid",shape="box"];3242 -> 4491[label="",style="solid", color="burlywood", weight=9]; 4491 -> 3276[label="",style="solid", color="burlywood", weight=3]; 4492[label="vyv18300/Zero",fontsize=10,color="white",style="solid",shape="box"];3242 -> 4492[label="",style="solid", color="burlywood", weight=9]; 4492 -> 3277[label="",style="solid", color="burlywood", weight=3]; 3831[label="primDivNatS0 vyv27000 vyv28400 (primGEqNatS vyv27000 vyv28400)",fontsize=16,color="burlywood",shape="box"];4493[label="vyv27000/Succ vyv270000",fontsize=10,color="white",style="solid",shape="box"];3831 -> 4493[label="",style="solid", color="burlywood", weight=9]; 4493 -> 3840[label="",style="solid", color="burlywood", weight=3]; 4494[label="vyv27000/Zero",fontsize=10,color="white",style="solid",shape="box"];3831 -> 4494[label="",style="solid", color="burlywood", weight=9]; 4494 -> 3841[label="",style="solid", color="burlywood", weight=3]; 3832[label="Zero",fontsize=16,color="green",shape="box"];3271[label="Neg (Succ vyv240) - vyv243",fontsize=16,color="black",shape="triangle"];3271 -> 3296[label="",style="solid", color="black", weight=3]; 3272[label="pr2F3 False vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="box"];3272 -> 3297[label="",style="solid", color="black", weight=3]; 3273[label="pr2F3 True vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="box"];3273 -> 3298[label="",style="solid", color="black", weight=3]; 3349[label="primMinusInt (Pos (Succ vyv228)) (Pos vyv2440)",fontsize=16,color="black",shape="box"];3349 -> 3402[label="",style="solid", color="black", weight=3]; 3350[label="primMinusInt (Pos (Succ vyv228)) (Neg vyv2440)",fontsize=16,color="black",shape="box"];3350 -> 3403[label="",style="solid", color="black", weight=3]; 3287[label="primEqInt (Pos vyv2410) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4495[label="vyv2410/Succ vyv24100",fontsize=10,color="white",style="solid",shape="box"];3287 -> 4495[label="",style="solid", color="burlywood", weight=9]; 4495 -> 3313[label="",style="solid", color="burlywood", weight=3]; 4496[label="vyv2410/Zero",fontsize=10,color="white",style="solid",shape="box"];3287 -> 4496[label="",style="solid", color="burlywood", weight=9]; 4496 -> 3314[label="",style="solid", color="burlywood", weight=3]; 3288[label="primEqInt (Neg vyv2410) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4497[label="vyv2410/Succ vyv24100",fontsize=10,color="white",style="solid",shape="box"];3288 -> 4497[label="",style="solid", color="burlywood", weight=9]; 4497 -> 3315[label="",style="solid", color="burlywood", weight=3]; 4498[label="vyv2410/Zero",fontsize=10,color="white",style="solid",shape="box"];3288 -> 4498[label="",style="solid", color="burlywood", weight=9]; 4498 -> 3316[label="",style="solid", color="burlywood", weight=3]; 3351[label="vyv227",fontsize=16,color="green",shape="box"];3352 -> 3292[label="",style="dashed", color="red", weight=0]; 3352[label="Pos (Succ vyv228) - vyv244",fontsize=16,color="magenta"];3353[label="vyv227 * vyv226",fontsize=16,color="blue",shape="box"];4499[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4499[label="",style="solid", color="blue", weight=9]; 4499 -> 3404[label="",style="solid", color="blue", weight=3]; 4500[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4500[label="",style="solid", color="blue", weight=9]; 4500 -> 3405[label="",style="solid", color="blue", weight=3]; 4501[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4501[label="",style="solid", color="blue", weight=9]; 4501 -> 3406[label="",style="solid", color="blue", weight=3]; 4502[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4502[label="",style="solid", color="blue", weight=9]; 4502 -> 3407[label="",style="solid", color="blue", weight=3]; 4503[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4503[label="",style="solid", color="blue", weight=9]; 4503 -> 3408[label="",style="solid", color="blue", weight=3]; 3354 -> 3328[label="",style="dashed", color="red", weight=0]; 3354[label="vyv227 * vyv226",fontsize=16,color="magenta"];3354 -> 3409[label="",style="dashed", color="magenta", weight=3]; 3354 -> 3410[label="",style="dashed", color="magenta", weight=3]; 3355 -> 3329[label="",style="dashed", color="red", weight=0]; 3355[label="vyv227 * vyv226",fontsize=16,color="magenta"];3355 -> 3411[label="",style="dashed", color="magenta", weight=3]; 3355 -> 3412[label="",style="dashed", color="magenta", weight=3]; 3356 -> 3330[label="",style="dashed", color="red", weight=0]; 3356[label="vyv227 * vyv226",fontsize=16,color="magenta"];3356 -> 3413[label="",style="dashed", color="magenta", weight=3]; 3356 -> 3414[label="",style="dashed", color="magenta", weight=3]; 3357 -> 3331[label="",style="dashed", color="red", weight=0]; 3357[label="vyv227 * vyv226",fontsize=16,color="magenta"];3357 -> 3415[label="",style="dashed", color="magenta", weight=3]; 3357 -> 3416[label="",style="dashed", color="magenta", weight=3]; 3358 -> 3332[label="",style="dashed", color="red", weight=0]; 3358[label="vyv227 * vyv226",fontsize=16,color="magenta"];3358 -> 3417[label="",style="dashed", color="magenta", weight=3]; 3358 -> 3418[label="",style="dashed", color="magenta", weight=3]; 3597[label="vyv1831",fontsize=16,color="green",shape="box"];3598[label="vyv1831",fontsize=16,color="green",shape="box"];3599[label="Integer vyv2690 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];3599 -> 3615[label="",style="solid", color="black", weight=3]; 3612[label="reduce2Reduce0 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) True",fontsize=16,color="black",shape="box"];3612 -> 3624[label="",style="solid", color="black", weight=3]; 3613[label="error []",fontsize=16,color="red",shape="box"];3276[label="primMulNat (Succ vyv183000) (Succ (Succ vyv183000))",fontsize=16,color="black",shape="box"];3276 -> 3300[label="",style="solid", color="black", weight=3]; 3277[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];3277 -> 3301[label="",style="solid", color="black", weight=3]; 3840[label="primDivNatS0 (Succ vyv270000) vyv28400 (primGEqNatS (Succ vyv270000) vyv28400)",fontsize=16,color="burlywood",shape="box"];4504[label="vyv28400/Succ vyv284000",fontsize=10,color="white",style="solid",shape="box"];3840 -> 4504[label="",style="solid", color="burlywood", weight=9]; 4504 -> 3846[label="",style="solid", color="burlywood", weight=3]; 4505[label="vyv28400/Zero",fontsize=10,color="white",style="solid",shape="box"];3840 -> 4505[label="",style="solid", color="burlywood", weight=9]; 4505 -> 3847[label="",style="solid", color="burlywood", weight=3]; 3841[label="primDivNatS0 Zero vyv28400 (primGEqNatS Zero vyv28400)",fontsize=16,color="burlywood",shape="box"];4506[label="vyv28400/Succ vyv284000",fontsize=10,color="white",style="solid",shape="box"];3841 -> 4506[label="",style="solid", color="burlywood", weight=9]; 4506 -> 3848[label="",style="solid", color="burlywood", weight=3]; 4507[label="vyv28400/Zero",fontsize=10,color="white",style="solid",shape="box"];3841 -> 4507[label="",style="solid", color="burlywood", weight=9]; 4507 -> 3849[label="",style="solid", color="burlywood", weight=3]; 3296[label="primMinusInt (Neg (Succ vyv240)) vyv243",fontsize=16,color="burlywood",shape="box"];4508[label="vyv243/Pos vyv2430",fontsize=10,color="white",style="solid",shape="box"];3296 -> 4508[label="",style="solid", color="burlywood", weight=9]; 4508 -> 3323[label="",style="solid", color="burlywood", weight=3]; 4509[label="vyv243/Neg vyv2430",fontsize=10,color="white",style="solid",shape="box"];3296 -> 4509[label="",style="solid", color="burlywood", weight=9]; 4509 -> 3324[label="",style="solid", color="burlywood", weight=3]; 3297 -> 2999[label="",style="dashed", color="red", weight=0]; 3297[label="pr2F0 vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="magenta"];3297 -> 3325[label="",style="dashed", color="magenta", weight=3]; 3297 -> 3326[label="",style="dashed", color="magenta", weight=3]; 3297 -> 3327[label="",style="dashed", color="magenta", weight=3]; 3298[label="vyv239 * vyv238",fontsize=16,color="blue",shape="box"];4510[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4510[label="",style="solid", color="blue", weight=9]; 4510 -> 3328[label="",style="solid", color="blue", weight=3]; 4511[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4511[label="",style="solid", color="blue", weight=9]; 4511 -> 3329[label="",style="solid", color="blue", weight=3]; 4512[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4512[label="",style="solid", color="blue", weight=9]; 4512 -> 3330[label="",style="solid", color="blue", weight=3]; 4513[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4513[label="",style="solid", color="blue", weight=9]; 4513 -> 3331[label="",style="solid", color="blue", weight=3]; 4514[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4514[label="",style="solid", color="blue", weight=9]; 4514 -> 3332[label="",style="solid", color="blue", weight=3]; 3402[label="primMinusNat (Succ vyv228) vyv2440",fontsize=16,color="burlywood",shape="box"];4515[label="vyv2440/Succ vyv24400",fontsize=10,color="white",style="solid",shape="box"];3402 -> 4515[label="",style="solid", color="burlywood", weight=9]; 4515 -> 3446[label="",style="solid", color="burlywood", weight=3]; 4516[label="vyv2440/Zero",fontsize=10,color="white",style="solid",shape="box"];3402 -> 4516[label="",style="solid", color="burlywood", weight=9]; 4516 -> 3447[label="",style="solid", color="burlywood", weight=3]; 3403[label="Pos (primPlusNat (Succ vyv228) vyv2440)",fontsize=16,color="green",shape="box"];3403 -> 3448[label="",style="dashed", color="green", weight=3]; 3313[label="primEqInt (Pos (Succ vyv24100)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3313 -> 3343[label="",style="solid", color="black", weight=3]; 3314[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3314 -> 3344[label="",style="solid", color="black", weight=3]; 3315[label="primEqInt (Neg (Succ vyv24100)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3315 -> 3345[label="",style="solid", color="black", weight=3]; 3316[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3316 -> 3346[label="",style="solid", color="black", weight=3]; 3404 -> 3328[label="",style="dashed", color="red", weight=0]; 3404[label="vyv227 * vyv226",fontsize=16,color="magenta"];3404 -> 3449[label="",style="dashed", color="magenta", weight=3]; 3404 -> 3450[label="",style="dashed", color="magenta", weight=3]; 3405 -> 3329[label="",style="dashed", color="red", weight=0]; 3405[label="vyv227 * vyv226",fontsize=16,color="magenta"];3405 -> 3451[label="",style="dashed", color="magenta", weight=3]; 3405 -> 3452[label="",style="dashed", color="magenta", weight=3]; 3406 -> 3330[label="",style="dashed", color="red", weight=0]; 3406[label="vyv227 * vyv226",fontsize=16,color="magenta"];3406 -> 3453[label="",style="dashed", color="magenta", weight=3]; 3406 -> 3454[label="",style="dashed", color="magenta", weight=3]; 3407 -> 3331[label="",style="dashed", color="red", weight=0]; 3407[label="vyv227 * vyv226",fontsize=16,color="magenta"];3407 -> 3455[label="",style="dashed", color="magenta", weight=3]; 3407 -> 3456[label="",style="dashed", color="magenta", weight=3]; 3408 -> 3332[label="",style="dashed", color="red", weight=0]; 3408[label="vyv227 * vyv226",fontsize=16,color="magenta"];3408 -> 3457[label="",style="dashed", color="magenta", weight=3]; 3408 -> 3458[label="",style="dashed", color="magenta", weight=3]; 3409[label="vyv227",fontsize=16,color="green",shape="box"];3410[label="vyv226",fontsize=16,color="green",shape="box"];3328[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3328 -> 3368[label="",style="solid", color="black", weight=3]; 3411[label="vyv227",fontsize=16,color="green",shape="box"];3412[label="vyv226",fontsize=16,color="green",shape="box"];3329[label="vyv239 * vyv238",fontsize=16,color="burlywood",shape="triangle"];4517[label="vyv239/vyv2390 :% vyv2391",fontsize=10,color="white",style="solid",shape="box"];3329 -> 4517[label="",style="solid", color="burlywood", weight=9]; 4517 -> 3369[label="",style="solid", color="burlywood", weight=3]; 3413[label="vyv227",fontsize=16,color="green",shape="box"];3414[label="vyv226",fontsize=16,color="green",shape="box"];3330[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3330 -> 3370[label="",style="solid", color="black", weight=3]; 3415[label="vyv227",fontsize=16,color="green",shape="box"];3416[label="vyv226",fontsize=16,color="green",shape="box"];3331[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3331 -> 3371[label="",style="solid", color="black", weight=3]; 3417[label="vyv227",fontsize=16,color="green",shape="box"];3418[label="vyv226",fontsize=16,color="green",shape="box"];3332[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3332 -> 3372[label="",style="solid", color="black", weight=3]; 3615[label="Integer vyv2690 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];3615 -> 3625[label="",style="solid", color="black", weight=3]; 3624[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267) :% (vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267))",fontsize=16,color="green",shape="box"];3624 -> 3628[label="",style="dashed", color="green", weight=3]; 3624 -> 3629[label="",style="dashed", color="green", weight=3]; 3300 -> 75[label="",style="dashed", color="red", weight=0]; 3300[label="primPlusNat (primMulNat vyv183000 (Succ (Succ vyv183000))) (Succ (Succ vyv183000))",fontsize=16,color="magenta"];3300 -> 3335[label="",style="dashed", color="magenta", weight=3]; 3300 -> 3336[label="",style="dashed", color="magenta", weight=3]; 3301[label="Zero",fontsize=16,color="green",shape="box"];3846[label="primDivNatS0 (Succ vyv270000) (Succ vyv284000) (primGEqNatS (Succ vyv270000) (Succ vyv284000))",fontsize=16,color="black",shape="box"];3846 -> 3853[label="",style="solid", color="black", weight=3]; 3847[label="primDivNatS0 (Succ vyv270000) Zero (primGEqNatS (Succ vyv270000) Zero)",fontsize=16,color="black",shape="box"];3847 -> 3854[label="",style="solid", color="black", weight=3]; 3848[label="primDivNatS0 Zero (Succ vyv284000) (primGEqNatS Zero (Succ vyv284000))",fontsize=16,color="black",shape="box"];3848 -> 3855[label="",style="solid", color="black", weight=3]; 3849[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3849 -> 3856[label="",style="solid", color="black", weight=3]; 3323[label="primMinusInt (Neg (Succ vyv240)) (Pos vyv2430)",fontsize=16,color="black",shape="box"];3323 -> 3361[label="",style="solid", color="black", weight=3]; 3324[label="primMinusInt (Neg (Succ vyv240)) (Neg vyv2430)",fontsize=16,color="black",shape="box"];3324 -> 3362[label="",style="solid", color="black", weight=3]; 3325[label="vyv239",fontsize=16,color="green",shape="box"];3326 -> 3271[label="",style="dashed", color="red", weight=0]; 3326[label="Neg (Succ vyv240) - vyv243",fontsize=16,color="magenta"];3327[label="vyv239 * vyv238",fontsize=16,color="blue",shape="box"];4518[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4518[label="",style="solid", color="blue", weight=9]; 4518 -> 3363[label="",style="solid", color="blue", weight=3]; 4519[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4519[label="",style="solid", color="blue", weight=9]; 4519 -> 3364[label="",style="solid", color="blue", weight=3]; 4520[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4520[label="",style="solid", color="blue", weight=9]; 4520 -> 3365[label="",style="solid", color="blue", weight=3]; 4521[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4521[label="",style="solid", color="blue", weight=9]; 4521 -> 3366[label="",style="solid", color="blue", weight=3]; 4522[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4522[label="",style="solid", color="blue", weight=9]; 4522 -> 3367[label="",style="solid", color="blue", weight=3]; 3446[label="primMinusNat (Succ vyv228) (Succ vyv24400)",fontsize=16,color="black",shape="box"];3446 -> 3476[label="",style="solid", color="black", weight=3]; 3447[label="primMinusNat (Succ vyv228) Zero",fontsize=16,color="black",shape="box"];3447 -> 3477[label="",style="solid", color="black", weight=3]; 3448 -> 75[label="",style="dashed", color="red", weight=0]; 3448[label="primPlusNat (Succ vyv228) vyv2440",fontsize=16,color="magenta"];3448 -> 3478[label="",style="dashed", color="magenta", weight=3]; 3448 -> 3479[label="",style="dashed", color="magenta", weight=3]; 3343 -> 3317[label="",style="dashed", color="red", weight=0]; 3343[label="primEqInt (Pos (Succ vyv24100)) (Pos Zero)",fontsize=16,color="magenta"];3343 -> 3422[label="",style="dashed", color="magenta", weight=3]; 3344 -> 3317[label="",style="dashed", color="red", weight=0]; 3344[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];3344 -> 3423[label="",style="dashed", color="magenta", weight=3]; 3345 -> 3317[label="",style="dashed", color="red", weight=0]; 3345[label="primEqInt (Neg (Succ vyv24100)) (Pos Zero)",fontsize=16,color="magenta"];3345 -> 3424[label="",style="dashed", color="magenta", weight=3]; 3346 -> 3317[label="",style="dashed", color="red", weight=0]; 3346[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];3346 -> 3425[label="",style="dashed", color="magenta", weight=3]; 3449[label="vyv227",fontsize=16,color="green",shape="box"];3450[label="vyv226",fontsize=16,color="green",shape="box"];3451[label="vyv227",fontsize=16,color="green",shape="box"];3452[label="vyv226",fontsize=16,color="green",shape="box"];3453[label="vyv227",fontsize=16,color="green",shape="box"];3454[label="vyv226",fontsize=16,color="green",shape="box"];3455[label="vyv227",fontsize=16,color="green",shape="box"];3456[label="vyv226",fontsize=16,color="green",shape="box"];3457[label="vyv227",fontsize=16,color="green",shape="box"];3458[label="vyv226",fontsize=16,color="green",shape="box"];3368[label="error []",fontsize=16,color="red",shape="box"];3369[label="vyv2390 :% vyv2391 * vyv238",fontsize=16,color="burlywood",shape="box"];4523[label="vyv238/vyv2380 :% vyv2381",fontsize=10,color="white",style="solid",shape="box"];3369 -> 4523[label="",style="solid", color="burlywood", weight=9]; 4523 -> 3429[label="",style="solid", color="burlywood", weight=3]; 3370[label="error []",fontsize=16,color="red",shape="box"];3371[label="error []",fontsize=16,color="red",shape="box"];3372[label="primMulInt vyv239 vyv238",fontsize=16,color="burlywood",shape="box"];4524[label="vyv239/Pos vyv2390",fontsize=10,color="white",style="solid",shape="box"];3372 -> 4524[label="",style="solid", color="burlywood", weight=9]; 4524 -> 3430[label="",style="solid", color="burlywood", weight=3]; 4525[label="vyv239/Neg vyv2390",fontsize=10,color="white",style="solid",shape="box"];3372 -> 4525[label="",style="solid", color="burlywood", weight=9]; 4525 -> 3431[label="",style="solid", color="burlywood", weight=3]; 3625 -> 3317[label="",style="dashed", color="red", weight=0]; 3625[label="primEqInt vyv2690 (Pos Zero)",fontsize=16,color="magenta"];3625 -> 3630[label="",style="dashed", color="magenta", weight=3]; 3628[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="blue",shape="box"];4526[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3628 -> 4526[label="",style="solid", color="blue", weight=9]; 4526 -> 3633[label="",style="solid", color="blue", weight=3]; 4527[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3628 -> 4527[label="",style="solid", color="blue", weight=9]; 4527 -> 3634[label="",style="solid", color="blue", weight=3]; 3629[label="vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="blue",shape="box"];4528[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3629 -> 4528[label="",style="solid", color="blue", weight=9]; 4528 -> 3635[label="",style="solid", color="blue", weight=3]; 4529[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3629 -> 4529[label="",style="solid", color="blue", weight=9]; 4529 -> 3636[label="",style="solid", color="blue", weight=3]; 3335[label="Succ (Succ vyv183000)",fontsize=16,color="green",shape="box"];3336[label="primMulNat vyv183000 (Succ (Succ vyv183000))",fontsize=16,color="burlywood",shape="box"];4530[label="vyv183000/Succ vyv1830000",fontsize=10,color="white",style="solid",shape="box"];3336 -> 4530[label="",style="solid", color="burlywood", weight=9]; 4530 -> 3377[label="",style="solid", color="burlywood", weight=3]; 4531[label="vyv183000/Zero",fontsize=10,color="white",style="solid",shape="box"];3336 -> 4531[label="",style="solid", color="burlywood", weight=9]; 4531 -> 3378[label="",style="solid", color="burlywood", weight=3]; 3853 -> 4114[label="",style="dashed", color="red", weight=0]; 3853[label="primDivNatS0 (Succ vyv270000) (Succ vyv284000) (primGEqNatS vyv270000 vyv284000)",fontsize=16,color="magenta"];3853 -> 4115[label="",style="dashed", color="magenta", weight=3]; 3853 -> 4116[label="",style="dashed", color="magenta", weight=3]; 3853 -> 4117[label="",style="dashed", color="magenta", weight=3]; 3853 -> 4118[label="",style="dashed", color="magenta", weight=3]; 3854[label="primDivNatS0 (Succ vyv270000) Zero True",fontsize=16,color="black",shape="box"];3854 -> 3861[label="",style="solid", color="black", weight=3]; 3855[label="primDivNatS0 Zero (Succ vyv284000) False",fontsize=16,color="black",shape="box"];3855 -> 3862[label="",style="solid", color="black", weight=3]; 3856[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];3856 -> 3863[label="",style="solid", color="black", weight=3]; 3361[label="Neg (primPlusNat (Succ vyv240) vyv2430)",fontsize=16,color="green",shape="box"];3361 -> 3426[label="",style="dashed", color="green", weight=3]; 3362[label="primMinusNat vyv2430 (Succ vyv240)",fontsize=16,color="burlywood",shape="box"];4532[label="vyv2430/Succ vyv24300",fontsize=10,color="white",style="solid",shape="box"];3362 -> 4532[label="",style="solid", color="burlywood", weight=9]; 4532 -> 3427[label="",style="solid", color="burlywood", weight=3]; 4533[label="vyv2430/Zero",fontsize=10,color="white",style="solid",shape="box"];3362 -> 4533[label="",style="solid", color="burlywood", weight=9]; 4533 -> 3428[label="",style="solid", color="burlywood", weight=3]; 3363 -> 3328[label="",style="dashed", color="red", weight=0]; 3363[label="vyv239 * vyv238",fontsize=16,color="magenta"];3364 -> 3329[label="",style="dashed", color="red", weight=0]; 3364[label="vyv239 * vyv238",fontsize=16,color="magenta"];3365 -> 3330[label="",style="dashed", color="red", weight=0]; 3365[label="vyv239 * vyv238",fontsize=16,color="magenta"];3366 -> 3331[label="",style="dashed", color="red", weight=0]; 3366[label="vyv239 * vyv238",fontsize=16,color="magenta"];3367 -> 3332[label="",style="dashed", color="red", weight=0]; 3367[label="vyv239 * vyv238",fontsize=16,color="magenta"];3476[label="primMinusNat vyv228 vyv24400",fontsize=16,color="burlywood",shape="triangle"];4534[label="vyv228/Succ vyv2280",fontsize=10,color="white",style="solid",shape="box"];3476 -> 4534[label="",style="solid", color="burlywood", weight=9]; 4534 -> 3518[label="",style="solid", color="burlywood", weight=3]; 4535[label="vyv228/Zero",fontsize=10,color="white",style="solid",shape="box"];3476 -> 4535[label="",style="solid", color="burlywood", weight=9]; 4535 -> 3519[label="",style="solid", color="burlywood", weight=3]; 3477[label="Pos (Succ vyv228)",fontsize=16,color="green",shape="box"];3478[label="vyv2440",fontsize=16,color="green",shape="box"];3479[label="Succ vyv228",fontsize=16,color="green",shape="box"];3422[label="Pos (Succ vyv24100)",fontsize=16,color="green",shape="box"];3317[label="primEqInt vyv2420 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];4536[label="vyv2420/Pos vyv24200",fontsize=10,color="white",style="solid",shape="box"];3317 -> 4536[label="",style="solid", color="burlywood", weight=9]; 4536 -> 3347[label="",style="solid", color="burlywood", weight=3]; 4537[label="vyv2420/Neg vyv24200",fontsize=10,color="white",style="solid",shape="box"];3317 -> 4537[label="",style="solid", color="burlywood", weight=9]; 4537 -> 3348[label="",style="solid", color="burlywood", weight=3]; 3423[label="Pos Zero",fontsize=16,color="green",shape="box"];3424[label="Neg (Succ vyv24100)",fontsize=16,color="green",shape="box"];3425[label="Neg Zero",fontsize=16,color="green",shape="box"];3429[label="vyv2390 :% vyv2391 * (vyv2380 :% vyv2381)",fontsize=16,color="black",shape="box"];3429 -> 3461[label="",style="solid", color="black", weight=3]; 3430[label="primMulInt (Pos vyv2390) vyv238",fontsize=16,color="burlywood",shape="box"];4538[label="vyv238/Pos vyv2380",fontsize=10,color="white",style="solid",shape="box"];3430 -> 4538[label="",style="solid", color="burlywood", weight=9]; 4538 -> 3462[label="",style="solid", color="burlywood", weight=3]; 4539[label="vyv238/Neg vyv2380",fontsize=10,color="white",style="solid",shape="box"];3430 -> 4539[label="",style="solid", color="burlywood", weight=9]; 4539 -> 3463[label="",style="solid", color="burlywood", weight=3]; 3431[label="primMulInt (Neg vyv2390) vyv238",fontsize=16,color="burlywood",shape="box"];4540[label="vyv238/Pos vyv2380",fontsize=10,color="white",style="solid",shape="box"];3431 -> 4540[label="",style="solid", color="burlywood", weight=9]; 4540 -> 3464[label="",style="solid", color="burlywood", weight=3]; 4541[label="vyv238/Neg vyv2380",fontsize=10,color="white",style="solid",shape="box"];3431 -> 4541[label="",style="solid", color="burlywood", weight=9]; 4541 -> 3465[label="",style="solid", color="burlywood", weight=3]; 3630[label="vyv2690",fontsize=16,color="green",shape="box"];3633 -> 3637[label="",style="dashed", color="red", weight=0]; 3633[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3633 -> 3638[label="",style="dashed", color="magenta", weight=3]; 3633 -> 3639[label="",style="dashed", color="magenta", weight=3]; 3633 -> 3640[label="",style="dashed", color="magenta", weight=3]; 3634 -> 3644[label="",style="dashed", color="red", weight=0]; 3634[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3634 -> 3645[label="",style="dashed", color="magenta", weight=3]; 3634 -> 3646[label="",style="dashed", color="magenta", weight=3]; 3634 -> 3647[label="",style="dashed", color="magenta", weight=3]; 3635 -> 3637[label="",style="dashed", color="red", weight=0]; 3635[label="vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3635 -> 3641[label="",style="dashed", color="magenta", weight=3]; 3635 -> 3642[label="",style="dashed", color="magenta", weight=3]; 3635 -> 3643[label="",style="dashed", color="magenta", weight=3]; 3636 -> 3644[label="",style="dashed", color="red", weight=0]; 3636[label="vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3636 -> 3648[label="",style="dashed", color="magenta", weight=3]; 3636 -> 3649[label="",style="dashed", color="magenta", weight=3]; 3636 -> 3650[label="",style="dashed", color="magenta", weight=3]; 3377[label="primMulNat (Succ vyv1830000) (Succ (Succ (Succ vyv1830000)))",fontsize=16,color="black",shape="box"];3377 -> 3480[label="",style="solid", color="black", weight=3]; 3378[label="primMulNat Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];3378 -> 3481[label="",style="solid", color="black", weight=3]; 4115[label="vyv270000",fontsize=16,color="green",shape="box"];4116[label="vyv284000",fontsize=16,color="green",shape="box"];4117[label="vyv270000",fontsize=16,color="green",shape="box"];4118[label="vyv284000",fontsize=16,color="green",shape="box"];4114[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS vyv312 vyv313)",fontsize=16,color="burlywood",shape="triangle"];4542[label="vyv312/Succ vyv3120",fontsize=10,color="white",style="solid",shape="box"];4114 -> 4542[label="",style="solid", color="burlywood", weight=9]; 4542 -> 4147[label="",style="solid", color="burlywood", weight=3]; 4543[label="vyv312/Zero",fontsize=10,color="white",style="solid",shape="box"];4114 -> 4543[label="",style="solid", color="burlywood", weight=9]; 4543 -> 4148[label="",style="solid", color="burlywood", weight=3]; 3861[label="Succ (primDivNatS (primMinusNatS (Succ vyv270000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];3861 -> 3871[label="",style="dashed", color="green", weight=3]; 3862[label="Zero",fontsize=16,color="green",shape="box"];3863[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];3863 -> 3872[label="",style="dashed", color="green", weight=3]; 3426 -> 75[label="",style="dashed", color="red", weight=0]; 3426[label="primPlusNat (Succ vyv240) vyv2430",fontsize=16,color="magenta"];3426 -> 3482[label="",style="dashed", color="magenta", weight=3]; 3426 -> 3483[label="",style="dashed", color="magenta", weight=3]; 3427[label="primMinusNat (Succ vyv24300) (Succ vyv240)",fontsize=16,color="black",shape="box"];3427 -> 3484[label="",style="solid", color="black", weight=3]; 3428[label="primMinusNat Zero (Succ vyv240)",fontsize=16,color="black",shape="box"];3428 -> 3485[label="",style="solid", color="black", weight=3]; 3518[label="primMinusNat (Succ vyv2280) vyv24400",fontsize=16,color="burlywood",shape="box"];4544[label="vyv24400/Succ vyv244000",fontsize=10,color="white",style="solid",shape="box"];3518 -> 4544[label="",style="solid", color="burlywood", weight=9]; 4544 -> 3539[label="",style="solid", color="burlywood", weight=3]; 4545[label="vyv24400/Zero",fontsize=10,color="white",style="solid",shape="box"];3518 -> 4545[label="",style="solid", color="burlywood", weight=9]; 4545 -> 3540[label="",style="solid", color="burlywood", weight=3]; 3519[label="primMinusNat Zero vyv24400",fontsize=16,color="burlywood",shape="box"];4546[label="vyv24400/Succ vyv244000",fontsize=10,color="white",style="solid",shape="box"];3519 -> 4546[label="",style="solid", color="burlywood", weight=9]; 4546 -> 3541[label="",style="solid", color="burlywood", weight=3]; 4547[label="vyv24400/Zero",fontsize=10,color="white",style="solid",shape="box"];3519 -> 4547[label="",style="solid", color="burlywood", weight=9]; 4547 -> 3542[label="",style="solid", color="burlywood", weight=3]; 3347[label="primEqInt (Pos vyv24200) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];4548[label="vyv24200/Succ vyv242000",fontsize=10,color="white",style="solid",shape="box"];3347 -> 4548[label="",style="solid", color="burlywood", weight=9]; 4548 -> 3432[label="",style="solid", color="burlywood", weight=3]; 4549[label="vyv24200/Zero",fontsize=10,color="white",style="solid",shape="box"];3347 -> 4549[label="",style="solid", color="burlywood", weight=9]; 4549 -> 3433[label="",style="solid", color="burlywood", weight=3]; 3348[label="primEqInt (Neg vyv24200) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];4550[label="vyv24200/Succ vyv242000",fontsize=10,color="white",style="solid",shape="box"];3348 -> 4550[label="",style="solid", color="burlywood", weight=9]; 4550 -> 3434[label="",style="solid", color="burlywood", weight=3]; 4551[label="vyv24200/Zero",fontsize=10,color="white",style="solid",shape="box"];3348 -> 4551[label="",style="solid", color="burlywood", weight=9]; 4551 -> 3435[label="",style="solid", color="burlywood", weight=3]; 3461[label="reduce (vyv2390 * vyv2380) (vyv2391 * vyv2381)",fontsize=16,color="black",shape="box"];3461 -> 3488[label="",style="solid", color="black", weight=3]; 3462[label="primMulInt (Pos vyv2390) (Pos vyv2380)",fontsize=16,color="black",shape="box"];3462 -> 3489[label="",style="solid", color="black", weight=3]; 3463[label="primMulInt (Pos vyv2390) (Neg vyv2380)",fontsize=16,color="black",shape="box"];3463 -> 3490[label="",style="solid", color="black", weight=3]; 3464[label="primMulInt (Neg vyv2390) (Pos vyv2380)",fontsize=16,color="black",shape="box"];3464 -> 3491[label="",style="solid", color="black", weight=3]; 3465[label="primMulInt (Neg vyv2390) (Neg vyv2380)",fontsize=16,color="black",shape="box"];3465 -> 3492[label="",style="solid", color="black", weight=3]; 3638 -> 3332[label="",style="dashed", color="red", weight=0]; 3638[label="vyv264 * vyv265",fontsize=16,color="magenta"];3638 -> 3651[label="",style="dashed", color="magenta", weight=3]; 3638 -> 3652[label="",style="dashed", color="magenta", weight=3]; 3639 -> 3332[label="",style="dashed", color="red", weight=0]; 3639[label="vyv266 * vyv267",fontsize=16,color="magenta"];3639 -> 3653[label="",style="dashed", color="magenta", weight=3]; 3639 -> 3654[label="",style="dashed", color="magenta", weight=3]; 3640 -> 3332[label="",style="dashed", color="red", weight=0]; 3640[label="vyv264 * vyv265",fontsize=16,color="magenta"];3640 -> 3655[label="",style="dashed", color="magenta", weight=3]; 3640 -> 3656[label="",style="dashed", color="magenta", weight=3]; 3637[label="vyv270 `quot` reduce2D vyv272 vyv271",fontsize=16,color="black",shape="triangle"];3637 -> 3657[label="",style="solid", color="black", weight=3]; 3645 -> 3331[label="",style="dashed", color="red", weight=0]; 3645[label="vyv266 * vyv267",fontsize=16,color="magenta"];3645 -> 3658[label="",style="dashed", color="magenta", weight=3]; 3645 -> 3659[label="",style="dashed", color="magenta", weight=3]; 3646 -> 3331[label="",style="dashed", color="red", weight=0]; 3646[label="vyv264 * vyv265",fontsize=16,color="magenta"];3646 -> 3660[label="",style="dashed", color="magenta", weight=3]; 3646 -> 3661[label="",style="dashed", color="magenta", weight=3]; 3647 -> 3331[label="",style="dashed", color="red", weight=0]; 3647[label="vyv264 * vyv265",fontsize=16,color="magenta"];3647 -> 3662[label="",style="dashed", color="magenta", weight=3]; 3647 -> 3663[label="",style="dashed", color="magenta", weight=3]; 3644[label="vyv273 `quot` reduce2D vyv275 vyv274",fontsize=16,color="black",shape="triangle"];3644 -> 3664[label="",style="solid", color="black", weight=3]; 3641 -> 3332[label="",style="dashed", color="red", weight=0]; 3641[label="vyv264 * vyv265",fontsize=16,color="magenta"];3641 -> 3665[label="",style="dashed", color="magenta", weight=3]; 3641 -> 3666[label="",style="dashed", color="magenta", weight=3]; 3642 -> 3332[label="",style="dashed", color="red", weight=0]; 3642[label="vyv266 * vyv267",fontsize=16,color="magenta"];3642 -> 3667[label="",style="dashed", color="magenta", weight=3]; 3642 -> 3668[label="",style="dashed", color="magenta", weight=3]; 3643 -> 3332[label="",style="dashed", color="red", weight=0]; 3643[label="vyv266 * vyv267",fontsize=16,color="magenta"];3643 -> 3669[label="",style="dashed", color="magenta", weight=3]; 3643 -> 3670[label="",style="dashed", color="magenta", weight=3]; 3648 -> 3331[label="",style="dashed", color="red", weight=0]; 3648[label="vyv266 * vyv267",fontsize=16,color="magenta"];3648 -> 3671[label="",style="dashed", color="magenta", weight=3]; 3648 -> 3672[label="",style="dashed", color="magenta", weight=3]; 3649 -> 3331[label="",style="dashed", color="red", weight=0]; 3649[label="vyv266 * vyv267",fontsize=16,color="magenta"];3649 -> 3673[label="",style="dashed", color="magenta", weight=3]; 3649 -> 3674[label="",style="dashed", color="magenta", weight=3]; 3650 -> 3331[label="",style="dashed", color="red", weight=0]; 3650[label="vyv264 * vyv265",fontsize=16,color="magenta"];3650 -> 3675[label="",style="dashed", color="magenta", weight=3]; 3650 -> 3676[label="",style="dashed", color="magenta", weight=3]; 3480 -> 75[label="",style="dashed", color="red", weight=0]; 3480[label="primPlusNat (primMulNat vyv1830000 (Succ (Succ (Succ vyv1830000)))) (Succ (Succ (Succ vyv1830000)))",fontsize=16,color="magenta"];3480 -> 3520[label="",style="dashed", color="magenta", weight=3]; 3480 -> 3521[label="",style="dashed", color="magenta", weight=3]; 3481[label="Zero",fontsize=16,color="green",shape="box"];4147[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS (Succ vyv3120) vyv313)",fontsize=16,color="burlywood",shape="box"];4552[label="vyv313/Succ vyv3130",fontsize=10,color="white",style="solid",shape="box"];4147 -> 4552[label="",style="solid", color="burlywood", weight=9]; 4552 -> 4154[label="",style="solid", color="burlywood", weight=3]; 4553[label="vyv313/Zero",fontsize=10,color="white",style="solid",shape="box"];4147 -> 4553[label="",style="solid", color="burlywood", weight=9]; 4553 -> 4155[label="",style="solid", color="burlywood", weight=3]; 4148[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS Zero vyv313)",fontsize=16,color="burlywood",shape="box"];4554[label="vyv313/Succ vyv3130",fontsize=10,color="white",style="solid",shape="box"];4148 -> 4554[label="",style="solid", color="burlywood", weight=9]; 4554 -> 4156[label="",style="solid", color="burlywood", weight=3]; 4555[label="vyv313/Zero",fontsize=10,color="white",style="solid",shape="box"];4148 -> 4555[label="",style="solid", color="burlywood", weight=9]; 4555 -> 4157[label="",style="solid", color="burlywood", weight=3]; 3871 -> 3814[label="",style="dashed", color="red", weight=0]; 3871[label="primDivNatS (primMinusNatS (Succ vyv270000) Zero) (Succ Zero)",fontsize=16,color="magenta"];3871 -> 3880[label="",style="dashed", color="magenta", weight=3]; 3871 -> 3881[label="",style="dashed", color="magenta", weight=3]; 3872 -> 3814[label="",style="dashed", color="red", weight=0]; 3872[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];3872 -> 3882[label="",style="dashed", color="magenta", weight=3]; 3872 -> 3883[label="",style="dashed", color="magenta", weight=3]; 3482[label="vyv2430",fontsize=16,color="green",shape="box"];3483[label="Succ vyv240",fontsize=16,color="green",shape="box"];3484 -> 3476[label="",style="dashed", color="red", weight=0]; 3484[label="primMinusNat vyv24300 vyv240",fontsize=16,color="magenta"];3484 -> 3522[label="",style="dashed", color="magenta", weight=3]; 3484 -> 3523[label="",style="dashed", color="magenta", weight=3]; 3485[label="Neg (Succ vyv240)",fontsize=16,color="green",shape="box"];3539[label="primMinusNat (Succ vyv2280) (Succ vyv244000)",fontsize=16,color="black",shape="box"];3539 -> 3573[label="",style="solid", color="black", weight=3]; 3540[label="primMinusNat (Succ vyv2280) Zero",fontsize=16,color="black",shape="box"];3540 -> 3574[label="",style="solid", color="black", weight=3]; 3541[label="primMinusNat Zero (Succ vyv244000)",fontsize=16,color="black",shape="box"];3541 -> 3575[label="",style="solid", color="black", weight=3]; 3542[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];3542 -> 3576[label="",style="solid", color="black", weight=3]; 3432[label="primEqInt (Pos (Succ vyv242000)) (Pos Zero)",fontsize=16,color="black",shape="box"];3432 -> 3493[label="",style="solid", color="black", weight=3]; 3433[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3433 -> 3494[label="",style="solid", color="black", weight=3]; 3434[label="primEqInt (Neg (Succ vyv242000)) (Pos Zero)",fontsize=16,color="black",shape="box"];3434 -> 3495[label="",style="solid", color="black", weight=3]; 3435[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3435 -> 3496[label="",style="solid", color="black", weight=3]; 3488[label="reduce2 (vyv2390 * vyv2380) (vyv2391 * vyv2381)",fontsize=16,color="black",shape="box"];3488 -> 3526[label="",style="solid", color="black", weight=3]; 3489[label="Pos (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3489 -> 3527[label="",style="dashed", color="green", weight=3]; 3490[label="Neg (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3490 -> 3528[label="",style="dashed", color="green", weight=3]; 3491[label="Neg (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3491 -> 3529[label="",style="dashed", color="green", weight=3]; 3492[label="Pos (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3492 -> 3530[label="",style="dashed", color="green", weight=3]; 3651[label="vyv264",fontsize=16,color="green",shape="box"];3652[label="vyv265",fontsize=16,color="green",shape="box"];3653[label="vyv266",fontsize=16,color="green",shape="box"];3654[label="vyv267",fontsize=16,color="green",shape="box"];3655[label="vyv264",fontsize=16,color="green",shape="box"];3656[label="vyv265",fontsize=16,color="green",shape="box"];3657[label="primQuotInt vyv270 (reduce2D vyv272 vyv271)",fontsize=16,color="burlywood",shape="box"];4556[label="vyv270/Pos vyv2700",fontsize=10,color="white",style="solid",shape="box"];3657 -> 4556[label="",style="solid", color="burlywood", weight=9]; 4556 -> 3677[label="",style="solid", color="burlywood", weight=3]; 4557[label="vyv270/Neg vyv2700",fontsize=10,color="white",style="solid",shape="box"];3657 -> 4557[label="",style="solid", color="burlywood", weight=9]; 4557 -> 3678[label="",style="solid", color="burlywood", weight=3]; 3658[label="vyv266",fontsize=16,color="green",shape="box"];3659[label="vyv267",fontsize=16,color="green",shape="box"];3660[label="vyv264",fontsize=16,color="green",shape="box"];3661[label="vyv265",fontsize=16,color="green",shape="box"];3662[label="vyv264",fontsize=16,color="green",shape="box"];3663[label="vyv265",fontsize=16,color="green",shape="box"];3664[label="error []",fontsize=16,color="red",shape="box"];3665[label="vyv264",fontsize=16,color="green",shape="box"];3666[label="vyv265",fontsize=16,color="green",shape="box"];3667[label="vyv266",fontsize=16,color="green",shape="box"];3668[label="vyv267",fontsize=16,color="green",shape="box"];3669[label="vyv266",fontsize=16,color="green",shape="box"];3670[label="vyv267",fontsize=16,color="green",shape="box"];3671[label="vyv266",fontsize=16,color="green",shape="box"];3672[label="vyv267",fontsize=16,color="green",shape="box"];3673[label="vyv266",fontsize=16,color="green",shape="box"];3674[label="vyv267",fontsize=16,color="green",shape="box"];3675[label="vyv264",fontsize=16,color="green",shape="box"];3676[label="vyv265",fontsize=16,color="green",shape="box"];3520[label="Succ (Succ (Succ vyv1830000))",fontsize=16,color="green",shape="box"];3521[label="primMulNat vyv1830000 (Succ (Succ (Succ vyv1830000)))",fontsize=16,color="burlywood",shape="box"];4558[label="vyv1830000/Succ vyv18300000",fontsize=10,color="white",style="solid",shape="box"];3521 -> 4558[label="",style="solid", color="burlywood", weight=9]; 4558 -> 3543[label="",style="solid", color="burlywood", weight=3]; 4559[label="vyv1830000/Zero",fontsize=10,color="white",style="solid",shape="box"];3521 -> 4559[label="",style="solid", color="burlywood", weight=9]; 4559 -> 3544[label="",style="solid", color="burlywood", weight=3]; 4154[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS (Succ vyv3120) (Succ vyv3130))",fontsize=16,color="black",shape="box"];4154 -> 4162[label="",style="solid", color="black", weight=3]; 4155[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS (Succ vyv3120) Zero)",fontsize=16,color="black",shape="box"];4155 -> 4163[label="",style="solid", color="black", weight=3]; 4156[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS Zero (Succ vyv3130))",fontsize=16,color="black",shape="box"];4156 -> 4164[label="",style="solid", color="black", weight=3]; 4157[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4157 -> 4165[label="",style="solid", color="black", weight=3]; 3880[label="primMinusNatS (Succ vyv270000) Zero",fontsize=16,color="black",shape="triangle"];3880 -> 3893[label="",style="solid", color="black", weight=3]; 3881[label="Zero",fontsize=16,color="green",shape="box"];3882[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];3882 -> 3894[label="",style="solid", color="black", weight=3]; 3883[label="Zero",fontsize=16,color="green",shape="box"];3522[label="vyv240",fontsize=16,color="green",shape="box"];3523[label="vyv24300",fontsize=16,color="green",shape="box"];3573 -> 3476[label="",style="dashed", color="red", weight=0]; 3573[label="primMinusNat vyv2280 vyv244000",fontsize=16,color="magenta"];3573 -> 3600[label="",style="dashed", color="magenta", weight=3]; 3573 -> 3601[label="",style="dashed", color="magenta", weight=3]; 3574[label="Pos (Succ vyv2280)",fontsize=16,color="green",shape="box"];3575[label="Neg (Succ vyv244000)",fontsize=16,color="green",shape="box"];3576[label="Pos Zero",fontsize=16,color="green",shape="box"];3493[label="False",fontsize=16,color="green",shape="box"];3494[label="True",fontsize=16,color="green",shape="box"];3495[label="False",fontsize=16,color="green",shape="box"];3496[label="True",fontsize=16,color="green",shape="box"];3526 -> 3547[label="",style="dashed", color="red", weight=0]; 3526[label="reduce2Reduce1 (vyv2390 * vyv2380) (vyv2391 * vyv2381) (vyv2390 * vyv2380) (vyv2391 * vyv2381) (vyv2391 * vyv2381 == fromInt (Pos Zero))",fontsize=16,color="magenta"];3526 -> 3558[label="",style="dashed", color="magenta", weight=3]; 3526 -> 3559[label="",style="dashed", color="magenta", weight=3]; 3526 -> 3560[label="",style="dashed", color="magenta", weight=3]; 3526 -> 3561[label="",style="dashed", color="magenta", weight=3]; 3526 -> 3562[label="",style="dashed", color="magenta", weight=3]; 3527[label="primMulNat vyv2390 vyv2380",fontsize=16,color="burlywood",shape="triangle"];4560[label="vyv2390/Succ vyv23900",fontsize=10,color="white",style="solid",shape="box"];3527 -> 4560[label="",style="solid", color="burlywood", weight=9]; 4560 -> 3577[label="",style="solid", color="burlywood", weight=3]; 4561[label="vyv2390/Zero",fontsize=10,color="white",style="solid",shape="box"];3527 -> 4561[label="",style="solid", color="burlywood", weight=9]; 4561 -> 3578[label="",style="solid", color="burlywood", weight=3]; 3528 -> 3527[label="",style="dashed", color="red", weight=0]; 3528[label="primMulNat vyv2390 vyv2380",fontsize=16,color="magenta"];3528 -> 3579[label="",style="dashed", color="magenta", weight=3]; 3529 -> 3527[label="",style="dashed", color="red", weight=0]; 3529[label="primMulNat vyv2390 vyv2380",fontsize=16,color="magenta"];3529 -> 3580[label="",style="dashed", color="magenta", weight=3]; 3530 -> 3527[label="",style="dashed", color="red", weight=0]; 3530[label="primMulNat vyv2390 vyv2380",fontsize=16,color="magenta"];3530 -> 3581[label="",style="dashed", color="magenta", weight=3]; 3530 -> 3582[label="",style="dashed", color="magenta", weight=3]; 3677[label="primQuotInt (Pos vyv2700) (reduce2D vyv272 vyv271)",fontsize=16,color="black",shape="box"];3677 -> 3679[label="",style="solid", color="black", weight=3]; 3678[label="primQuotInt (Neg vyv2700) (reduce2D vyv272 vyv271)",fontsize=16,color="black",shape="box"];3678 -> 3680[label="",style="solid", color="black", weight=3]; 3543[label="primMulNat (Succ vyv18300000) (Succ (Succ (Succ (Succ vyv18300000))))",fontsize=16,color="black",shape="box"];3543 -> 3583[label="",style="solid", color="black", weight=3]; 3544[label="primMulNat Zero (Succ (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3544 -> 3584[label="",style="solid", color="black", weight=3]; 4162 -> 4114[label="",style="dashed", color="red", weight=0]; 4162[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS vyv3120 vyv3130)",fontsize=16,color="magenta"];4162 -> 4171[label="",style="dashed", color="magenta", weight=3]; 4162 -> 4172[label="",style="dashed", color="magenta", weight=3]; 4163[label="primDivNatS0 (Succ vyv310) (Succ vyv311) True",fontsize=16,color="black",shape="triangle"];4163 -> 4173[label="",style="solid", color="black", weight=3]; 4164[label="primDivNatS0 (Succ vyv310) (Succ vyv311) False",fontsize=16,color="black",shape="box"];4164 -> 4174[label="",style="solid", color="black", weight=3]; 4165 -> 4163[label="",style="dashed", color="red", weight=0]; 4165[label="primDivNatS0 (Succ vyv310) (Succ vyv311) True",fontsize=16,color="magenta"];3893[label="Succ vyv270000",fontsize=16,color="green",shape="box"];3894[label="Zero",fontsize=16,color="green",shape="box"];3600[label="vyv244000",fontsize=16,color="green",shape="box"];3601[label="vyv2280",fontsize=16,color="green",shape="box"];3558[label="vyv2390",fontsize=16,color="green",shape="box"];3559[label="vyv2381",fontsize=16,color="green",shape="box"];3560[label="vyv2380",fontsize=16,color="green",shape="box"];3561[label="vyv2391",fontsize=16,color="green",shape="box"];3562[label="vyv2391 * vyv2381 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];4562[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3562 -> 4562[label="",style="solid", color="blue", weight=9]; 4562 -> 3587[label="",style="solid", color="blue", weight=3]; 4563[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3562 -> 4563[label="",style="solid", color="blue", weight=9]; 4563 -> 3588[label="",style="solid", color="blue", weight=3]; 3577[label="primMulNat (Succ vyv23900) vyv2380",fontsize=16,color="burlywood",shape="box"];4564[label="vyv2380/Succ vyv23800",fontsize=10,color="white",style="solid",shape="box"];3577 -> 4564[label="",style="solid", color="burlywood", weight=9]; 4564 -> 3602[label="",style="solid", color="burlywood", weight=3]; 4565[label="vyv2380/Zero",fontsize=10,color="white",style="solid",shape="box"];3577 -> 4565[label="",style="solid", color="burlywood", weight=9]; 4565 -> 3603[label="",style="solid", color="burlywood", weight=3]; 3578[label="primMulNat Zero vyv2380",fontsize=16,color="burlywood",shape="box"];4566[label="vyv2380/Succ vyv23800",fontsize=10,color="white",style="solid",shape="box"];3578 -> 4566[label="",style="solid", color="burlywood", weight=9]; 4566 -> 3604[label="",style="solid", color="burlywood", weight=3]; 4567[label="vyv2380/Zero",fontsize=10,color="white",style="solid",shape="box"];3578 -> 4567[label="",style="solid", color="burlywood", weight=9]; 4567 -> 3605[label="",style="solid", color="burlywood", weight=3]; 3579[label="vyv2380",fontsize=16,color="green",shape="box"];3580[label="vyv2390",fontsize=16,color="green",shape="box"];3581[label="vyv2390",fontsize=16,color="green",shape="box"];3582[label="vyv2380",fontsize=16,color="green",shape="box"];3679 -> 3740[label="",style="dashed", color="red", weight=0]; 3679[label="primQuotInt (Pos vyv2700) (gcd vyv272 vyv271)",fontsize=16,color="magenta"];3679 -> 3749[label="",style="dashed", color="magenta", weight=3]; 3680 -> 3777[label="",style="dashed", color="red", weight=0]; 3680[label="primQuotInt (Neg vyv2700) (gcd vyv272 vyv271)",fontsize=16,color="magenta"];3680 -> 3786[label="",style="dashed", color="magenta", weight=3]; 3583 -> 75[label="",style="dashed", color="red", weight=0]; 3583[label="primPlusNat (primMulNat vyv18300000 (Succ (Succ (Succ (Succ vyv18300000))))) (Succ (Succ (Succ (Succ vyv18300000))))",fontsize=16,color="magenta"];3583 -> 3606[label="",style="dashed", color="magenta", weight=3]; 3583 -> 3607[label="",style="dashed", color="magenta", weight=3]; 3584[label="Zero",fontsize=16,color="green",shape="box"];4171[label="vyv3120",fontsize=16,color="green",shape="box"];4172[label="vyv3130",fontsize=16,color="green",shape="box"];4173[label="Succ (primDivNatS (primMinusNatS (Succ vyv310) (Succ vyv311)) (Succ (Succ vyv311)))",fontsize=16,color="green",shape="box"];4173 -> 4183[label="",style="dashed", color="green", weight=3]; 4174[label="Zero",fontsize=16,color="green",shape="box"];3587 -> 3217[label="",style="dashed", color="red", weight=0]; 3587[label="vyv2391 * vyv2381 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3587 -> 3609[label="",style="dashed", color="magenta", weight=3]; 3588 -> 3591[label="",style="dashed", color="red", weight=0]; 3588[label="vyv2391 * vyv2381 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3588 -> 3593[label="",style="dashed", color="magenta", weight=3]; 3602[label="primMulNat (Succ vyv23900) (Succ vyv23800)",fontsize=16,color="black",shape="box"];3602 -> 3616[label="",style="solid", color="black", weight=3]; 3603[label="primMulNat (Succ vyv23900) Zero",fontsize=16,color="black",shape="box"];3603 -> 3617[label="",style="solid", color="black", weight=3]; 3604[label="primMulNat Zero (Succ vyv23800)",fontsize=16,color="black",shape="box"];3604 -> 3618[label="",style="solid", color="black", weight=3]; 3605[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3605 -> 3619[label="",style="solid", color="black", weight=3]; 3749[label="gcd vyv272 vyv271",fontsize=16,color="black",shape="triangle"];3749 -> 3768[label="",style="solid", color="black", weight=3]; 3786 -> 3749[label="",style="dashed", color="red", weight=0]; 3786[label="gcd vyv272 vyv271",fontsize=16,color="magenta"];3606[label="Succ (Succ (Succ (Succ vyv18300000)))",fontsize=16,color="green",shape="box"];3607 -> 3527[label="",style="dashed", color="red", weight=0]; 3607[label="primMulNat vyv18300000 (Succ (Succ (Succ (Succ vyv18300000))))",fontsize=16,color="magenta"];3607 -> 3620[label="",style="dashed", color="magenta", weight=3]; 3607 -> 3621[label="",style="dashed", color="magenta", weight=3]; 4183 -> 3814[label="",style="dashed", color="red", weight=0]; 4183[label="primDivNatS (primMinusNatS (Succ vyv310) (Succ vyv311)) (Succ (Succ vyv311))",fontsize=16,color="magenta"];4183 -> 4189[label="",style="dashed", color="magenta", weight=3]; 4183 -> 4190[label="",style="dashed", color="magenta", weight=3]; 3609 -> 3332[label="",style="dashed", color="red", weight=0]; 3609[label="vyv2391 * vyv2381",fontsize=16,color="magenta"];3609 -> 3622[label="",style="dashed", color="magenta", weight=3]; 3609 -> 3623[label="",style="dashed", color="magenta", weight=3]; 3593 -> 3331[label="",style="dashed", color="red", weight=0]; 3593[label="vyv2391 * vyv2381",fontsize=16,color="magenta"];3593 -> 3610[label="",style="dashed", color="magenta", weight=3]; 3593 -> 3611[label="",style="dashed", color="magenta", weight=3]; 3616 -> 75[label="",style="dashed", color="red", weight=0]; 3616[label="primPlusNat (primMulNat vyv23900 (Succ vyv23800)) (Succ vyv23800)",fontsize=16,color="magenta"];3616 -> 3626[label="",style="dashed", color="magenta", weight=3]; 3616 -> 3627[label="",style="dashed", color="magenta", weight=3]; 3617[label="Zero",fontsize=16,color="green",shape="box"];3618[label="Zero",fontsize=16,color="green",shape="box"];3619[label="Zero",fontsize=16,color="green",shape="box"];3768[label="gcd3 vyv272 vyv271",fontsize=16,color="black",shape="box"];3768 -> 3776[label="",style="solid", color="black", weight=3]; 3620[label="vyv18300000",fontsize=16,color="green",shape="box"];3621[label="Succ (Succ (Succ (Succ vyv18300000)))",fontsize=16,color="green",shape="box"];4189[label="primMinusNatS (Succ vyv310) (Succ vyv311)",fontsize=16,color="black",shape="box"];4189 -> 4196[label="",style="solid", color="black", weight=3]; 4190[label="Succ vyv311",fontsize=16,color="green",shape="box"];3622[label="vyv2391",fontsize=16,color="green",shape="box"];3623[label="vyv2381",fontsize=16,color="green",shape="box"];3610[label="vyv2391",fontsize=16,color="green",shape="box"];3611[label="vyv2381",fontsize=16,color="green",shape="box"];3626[label="Succ vyv23800",fontsize=16,color="green",shape="box"];3627 -> 3527[label="",style="dashed", color="red", weight=0]; 3627[label="primMulNat vyv23900 (Succ vyv23800)",fontsize=16,color="magenta"];3627 -> 3631[label="",style="dashed", color="magenta", weight=3]; 3627 -> 3632[label="",style="dashed", color="magenta", weight=3]; 3776 -> 3808[label="",style="dashed", color="red", weight=0]; 3776[label="gcd2 (vyv272 == fromInt (Pos Zero)) vyv272 vyv271",fontsize=16,color="magenta"];3776 -> 3809[label="",style="dashed", color="magenta", weight=3]; 4196[label="primMinusNatS vyv310 vyv311",fontsize=16,color="burlywood",shape="triangle"];4568[label="vyv310/Succ vyv3100",fontsize=10,color="white",style="solid",shape="box"];4196 -> 4568[label="",style="solid", color="burlywood", weight=9]; 4568 -> 4205[label="",style="solid", color="burlywood", weight=3]; 4569[label="vyv310/Zero",fontsize=10,color="white",style="solid",shape="box"];4196 -> 4569[label="",style="solid", color="burlywood", weight=9]; 4569 -> 4206[label="",style="solid", color="burlywood", weight=3]; 3631[label="vyv23900",fontsize=16,color="green",shape="box"];3632[label="Succ vyv23800",fontsize=16,color="green",shape="box"];3809 -> 3217[label="",style="dashed", color="red", weight=0]; 3809[label="vyv272 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3809 -> 3817[label="",style="dashed", color="magenta", weight=3]; 3808[label="gcd2 vyv288 vyv272 vyv271",fontsize=16,color="burlywood",shape="triangle"];4570[label="vyv288/False",fontsize=10,color="white",style="solid",shape="box"];3808 -> 4570[label="",style="solid", color="burlywood", weight=9]; 4570 -> 3818[label="",style="solid", color="burlywood", weight=3]; 4571[label="vyv288/True",fontsize=10,color="white",style="solid",shape="box"];3808 -> 4571[label="",style="solid", color="burlywood", weight=9]; 4571 -> 3819[label="",style="solid", color="burlywood", weight=3]; 4205[label="primMinusNatS (Succ vyv3100) vyv311",fontsize=16,color="burlywood",shape="box"];4572[label="vyv311/Succ vyv3110",fontsize=10,color="white",style="solid",shape="box"];4205 -> 4572[label="",style="solid", color="burlywood", weight=9]; 4572 -> 4215[label="",style="solid", color="burlywood", weight=3]; 4573[label="vyv311/Zero",fontsize=10,color="white",style="solid",shape="box"];4205 -> 4573[label="",style="solid", color="burlywood", weight=9]; 4573 -> 4216[label="",style="solid", color="burlywood", weight=3]; 4206[label="primMinusNatS Zero vyv311",fontsize=16,color="burlywood",shape="box"];4574[label="vyv311/Succ vyv3110",fontsize=10,color="white",style="solid",shape="box"];4206 -> 4574[label="",style="solid", color="burlywood", weight=9]; 4574 -> 4217[label="",style="solid", color="burlywood", weight=3]; 4575[label="vyv311/Zero",fontsize=10,color="white",style="solid",shape="box"];4206 -> 4575[label="",style="solid", color="burlywood", weight=9]; 4575 -> 4218[label="",style="solid", color="burlywood", weight=3]; 3817[label="vyv272",fontsize=16,color="green",shape="box"];3818[label="gcd2 False vyv272 vyv271",fontsize=16,color="black",shape="box"];3818 -> 3827[label="",style="solid", color="black", weight=3]; 3819[label="gcd2 True vyv272 vyv271",fontsize=16,color="black",shape="box"];3819 -> 3828[label="",style="solid", color="black", weight=3]; 4215[label="primMinusNatS (Succ vyv3100) (Succ vyv3110)",fontsize=16,color="black",shape="box"];4215 -> 4224[label="",style="solid", color="black", weight=3]; 4216[label="primMinusNatS (Succ vyv3100) Zero",fontsize=16,color="black",shape="box"];4216 -> 4225[label="",style="solid", color="black", weight=3]; 4217[label="primMinusNatS Zero (Succ vyv3110)",fontsize=16,color="black",shape="box"];4217 -> 4226[label="",style="solid", color="black", weight=3]; 4218[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];4218 -> 4227[label="",style="solid", color="black", weight=3]; 3827[label="gcd0 vyv272 vyv271",fontsize=16,color="black",shape="triangle"];3827 -> 3833[label="",style="solid", color="black", weight=3]; 3828 -> 3834[label="",style="dashed", color="red", weight=0]; 3828[label="gcd1 (vyv271 == fromInt (Pos Zero)) vyv272 vyv271",fontsize=16,color="magenta"];3828 -> 3835[label="",style="dashed", color="magenta", weight=3]; 4224 -> 4196[label="",style="dashed", color="red", weight=0]; 4224[label="primMinusNatS vyv3100 vyv3110",fontsize=16,color="magenta"];4224 -> 4236[label="",style="dashed", color="magenta", weight=3]; 4224 -> 4237[label="",style="dashed", color="magenta", weight=3]; 4225[label="Succ vyv3100",fontsize=16,color="green",shape="box"];4226[label="Zero",fontsize=16,color="green",shape="box"];4227[label="Zero",fontsize=16,color="green",shape="box"];3833[label="gcd0Gcd' (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3833 -> 3842[label="",style="solid", color="black", weight=3]; 3835 -> 3217[label="",style="dashed", color="red", weight=0]; 3835[label="vyv271 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3835 -> 3843[label="",style="dashed", color="magenta", weight=3]; 3834[label="gcd1 vyv289 vyv272 vyv271",fontsize=16,color="burlywood",shape="triangle"];4576[label="vyv289/False",fontsize=10,color="white",style="solid",shape="box"];3834 -> 4576[label="",style="solid", color="burlywood", weight=9]; 4576 -> 3844[label="",style="solid", color="burlywood", weight=3]; 4577[label="vyv289/True",fontsize=10,color="white",style="solid",shape="box"];3834 -> 4577[label="",style="solid", color="burlywood", weight=9]; 4577 -> 3845[label="",style="solid", color="burlywood", weight=3]; 4236[label="vyv3110",fontsize=16,color="green",shape="box"];4237[label="vyv3100",fontsize=16,color="green",shape="box"];3842[label="gcd0Gcd'2 (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3842 -> 3850[label="",style="solid", color="black", weight=3]; 3843[label="vyv271",fontsize=16,color="green",shape="box"];3844[label="gcd1 False vyv272 vyv271",fontsize=16,color="black",shape="box"];3844 -> 3851[label="",style="solid", color="black", weight=3]; 3845[label="gcd1 True vyv272 vyv271",fontsize=16,color="black",shape="box"];3845 -> 3852[label="",style="solid", color="black", weight=3]; 3850 -> 3857[label="",style="dashed", color="red", weight=0]; 3850[label="gcd0Gcd'1 (abs vyv271 == fromInt (Pos Zero)) (abs vyv272) (abs vyv271)",fontsize=16,color="magenta"];3850 -> 3858[label="",style="dashed", color="magenta", weight=3]; 3851 -> 3827[label="",style="dashed", color="red", weight=0]; 3851[label="gcd0 vyv272 vyv271",fontsize=16,color="magenta"];3852 -> 3805[label="",style="dashed", color="red", weight=0]; 3852[label="error []",fontsize=16,color="magenta"];3858 -> 3217[label="",style="dashed", color="red", weight=0]; 3858[label="abs vyv271 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3858 -> 3864[label="",style="dashed", color="magenta", weight=3]; 3857[label="gcd0Gcd'1 vyv290 (abs vyv272) (abs vyv271)",fontsize=16,color="burlywood",shape="triangle"];4578[label="vyv290/False",fontsize=10,color="white",style="solid",shape="box"];3857 -> 4578[label="",style="solid", color="burlywood", weight=9]; 4578 -> 3865[label="",style="solid", color="burlywood", weight=3]; 4579[label="vyv290/True",fontsize=10,color="white",style="solid",shape="box"];3857 -> 4579[label="",style="solid", color="burlywood", weight=9]; 4579 -> 3866[label="",style="solid", color="burlywood", weight=3]; 3864[label="abs vyv271",fontsize=16,color="black",shape="triangle"];3864 -> 3873[label="",style="solid", color="black", weight=3]; 3865[label="gcd0Gcd'1 False (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3865 -> 3874[label="",style="solid", color="black", weight=3]; 3866[label="gcd0Gcd'1 True (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3866 -> 3875[label="",style="solid", color="black", weight=3]; 3873[label="absReal vyv271",fontsize=16,color="black",shape="box"];3873 -> 3884[label="",style="solid", color="black", weight=3]; 3874 -> 3885[label="",style="dashed", color="red", weight=0]; 3874[label="gcd0Gcd'0 (abs vyv272) (abs vyv271)",fontsize=16,color="magenta"];3874 -> 3886[label="",style="dashed", color="magenta", weight=3]; 3874 -> 3887[label="",style="dashed", color="magenta", weight=3]; 3875 -> 3864[label="",style="dashed", color="red", weight=0]; 3875[label="abs vyv272",fontsize=16,color="magenta"];3875 -> 3895[label="",style="dashed", color="magenta", weight=3]; 3884[label="absReal2 vyv271",fontsize=16,color="black",shape="box"];3884 -> 3896[label="",style="solid", color="black", weight=3]; 3886 -> 3864[label="",style="dashed", color="red", weight=0]; 3886[label="abs vyv272",fontsize=16,color="magenta"];3886 -> 3897[label="",style="dashed", color="magenta", weight=3]; 3887 -> 3864[label="",style="dashed", color="red", weight=0]; 3887[label="abs vyv271",fontsize=16,color="magenta"];3885[label="gcd0Gcd'0 vyv292 vyv291",fontsize=16,color="black",shape="triangle"];3885 -> 3898[label="",style="solid", color="black", weight=3]; 3895[label="vyv272",fontsize=16,color="green",shape="box"];3896[label="absReal1 vyv271 (vyv271 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3896 -> 3905[label="",style="solid", color="black", weight=3]; 3897[label="vyv272",fontsize=16,color="green",shape="box"];3898[label="gcd0Gcd' vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3898 -> 3906[label="",style="solid", color="black", weight=3]; 3905[label="absReal1 vyv271 (compare vyv271 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];3905 -> 3915[label="",style="solid", color="black", weight=3]; 3906[label="gcd0Gcd'2 vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3906 -> 3916[label="",style="solid", color="black", weight=3]; 3915[label="absReal1 vyv271 (not (compare vyv271 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3915 -> 3924[label="",style="solid", color="black", weight=3]; 3916 -> 3925[label="",style="dashed", color="red", weight=0]; 3916[label="gcd0Gcd'1 (vyv292 `rem` vyv291 == fromInt (Pos Zero)) vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="magenta"];3916 -> 3926[label="",style="dashed", color="magenta", weight=3]; 3924[label="absReal1 vyv271 (not (primCmpInt vyv271 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4580[label="vyv271/Pos vyv2710",fontsize=10,color="white",style="solid",shape="box"];3924 -> 4580[label="",style="solid", color="burlywood", weight=9]; 4580 -> 3934[label="",style="solid", color="burlywood", weight=3]; 4581[label="vyv271/Neg vyv2710",fontsize=10,color="white",style="solid",shape="box"];3924 -> 4581[label="",style="solid", color="burlywood", weight=9]; 4581 -> 3935[label="",style="solid", color="burlywood", weight=3]; 3926 -> 3217[label="",style="dashed", color="red", weight=0]; 3926[label="vyv292 `rem` vyv291 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3926 -> 3936[label="",style="dashed", color="magenta", weight=3]; 3925[label="gcd0Gcd'1 vyv293 vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="burlywood",shape="triangle"];4582[label="vyv293/False",fontsize=10,color="white",style="solid",shape="box"];3925 -> 4582[label="",style="solid", color="burlywood", weight=9]; 4582 -> 3937[label="",style="solid", color="burlywood", weight=3]; 4583[label="vyv293/True",fontsize=10,color="white",style="solid",shape="box"];3925 -> 4583[label="",style="solid", color="burlywood", weight=9]; 4583 -> 3938[label="",style="solid", color="burlywood", weight=3]; 3934[label="absReal1 (Pos vyv2710) (not (primCmpInt (Pos vyv2710) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4584[label="vyv2710/Succ vyv27100",fontsize=10,color="white",style="solid",shape="box"];3934 -> 4584[label="",style="solid", color="burlywood", weight=9]; 4584 -> 3947[label="",style="solid", color="burlywood", weight=3]; 4585[label="vyv2710/Zero",fontsize=10,color="white",style="solid",shape="box"];3934 -> 4585[label="",style="solid", color="burlywood", weight=9]; 4585 -> 3948[label="",style="solid", color="burlywood", weight=3]; 3935[label="absReal1 (Neg vyv2710) (not (primCmpInt (Neg vyv2710) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4586[label="vyv2710/Succ vyv27100",fontsize=10,color="white",style="solid",shape="box"];3935 -> 4586[label="",style="solid", color="burlywood", weight=9]; 4586 -> 3949[label="",style="solid", color="burlywood", weight=3]; 4587[label="vyv2710/Zero",fontsize=10,color="white",style="solid",shape="box"];3935 -> 4587[label="",style="solid", color="burlywood", weight=9]; 4587 -> 3950[label="",style="solid", color="burlywood", weight=3]; 3936[label="vyv292 `rem` vyv291",fontsize=16,color="black",shape="triangle"];3936 -> 3951[label="",style="solid", color="black", weight=3]; 3937[label="gcd0Gcd'1 False vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3937 -> 3952[label="",style="solid", color="black", weight=3]; 3938[label="gcd0Gcd'1 True vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3938 -> 3953[label="",style="solid", color="black", weight=3]; 3947[label="absReal1 (Pos (Succ vyv27100)) (not (primCmpInt (Pos (Succ vyv27100)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3947 -> 3961[label="",style="solid", color="black", weight=3]; 3948[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3948 -> 3962[label="",style="solid", color="black", weight=3]; 3949[label="absReal1 (Neg (Succ vyv27100)) (not (primCmpInt (Neg (Succ vyv27100)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3949 -> 3963[label="",style="solid", color="black", weight=3]; 3950[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3950 -> 3964[label="",style="solid", color="black", weight=3]; 3951[label="primRemInt vyv292 vyv291",fontsize=16,color="burlywood",shape="box"];4588[label="vyv292/Pos vyv2920",fontsize=10,color="white",style="solid",shape="box"];3951 -> 4588[label="",style="solid", color="burlywood", weight=9]; 4588 -> 3965[label="",style="solid", color="burlywood", weight=3]; 4589[label="vyv292/Neg vyv2920",fontsize=10,color="white",style="solid",shape="box"];3951 -> 4589[label="",style="solid", color="burlywood", weight=9]; 4589 -> 3966[label="",style="solid", color="burlywood", weight=3]; 3952 -> 3885[label="",style="dashed", color="red", weight=0]; 3952[label="gcd0Gcd'0 vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="magenta"];3952 -> 3967[label="",style="dashed", color="magenta", weight=3]; 3952 -> 3968[label="",style="dashed", color="magenta", weight=3]; 3953[label="vyv291",fontsize=16,color="green",shape="box"];3961[label="absReal1 (Pos (Succ vyv27100)) (not (primCmpInt (Pos (Succ vyv27100)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3961 -> 3976[label="",style="solid", color="black", weight=3]; 3962[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3962 -> 3977[label="",style="solid", color="black", weight=3]; 3963[label="absReal1 (Neg (Succ vyv27100)) (not (primCmpInt (Neg (Succ vyv27100)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3963 -> 3978[label="",style="solid", color="black", weight=3]; 3964[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3964 -> 3979[label="",style="solid", color="black", weight=3]; 3965[label="primRemInt (Pos vyv2920) vyv291",fontsize=16,color="burlywood",shape="box"];4590[label="vyv291/Pos vyv2910",fontsize=10,color="white",style="solid",shape="box"];3965 -> 4590[label="",style="solid", color="burlywood", weight=9]; 4590 -> 3980[label="",style="solid", color="burlywood", weight=3]; 4591[label="vyv291/Neg vyv2910",fontsize=10,color="white",style="solid",shape="box"];3965 -> 4591[label="",style="solid", color="burlywood", weight=9]; 4591 -> 3981[label="",style="solid", color="burlywood", weight=3]; 3966[label="primRemInt (Neg vyv2920) vyv291",fontsize=16,color="burlywood",shape="box"];4592[label="vyv291/Pos vyv2910",fontsize=10,color="white",style="solid",shape="box"];3966 -> 4592[label="",style="solid", color="burlywood", weight=9]; 4592 -> 3982[label="",style="solid", color="burlywood", weight=3]; 4593[label="vyv291/Neg vyv2910",fontsize=10,color="white",style="solid",shape="box"];3966 -> 4593[label="",style="solid", color="burlywood", weight=9]; 4593 -> 3983[label="",style="solid", color="burlywood", weight=3]; 3967[label="vyv291",fontsize=16,color="green",shape="box"];3968 -> 3936[label="",style="dashed", color="red", weight=0]; 3968[label="vyv292 `rem` vyv291",fontsize=16,color="magenta"];3976[label="absReal1 (Pos (Succ vyv27100)) (not (primCmpNat (Succ vyv27100) Zero == LT))",fontsize=16,color="black",shape="box"];3976 -> 3992[label="",style="solid", color="black", weight=3]; 3977[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];3977 -> 3993[label="",style="solid", color="black", weight=3]; 3978[label="absReal1 (Neg (Succ vyv27100)) (not (LT == LT))",fontsize=16,color="black",shape="box"];3978 -> 3994[label="",style="solid", color="black", weight=3]; 3979[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];3979 -> 3995[label="",style="solid", color="black", weight=3]; 3980[label="primRemInt (Pos vyv2920) (Pos vyv2910)",fontsize=16,color="burlywood",shape="box"];4594[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3980 -> 4594[label="",style="solid", color="burlywood", weight=9]; 4594 -> 3996[label="",style="solid", color="burlywood", weight=3]; 4595[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3980 -> 4595[label="",style="solid", color="burlywood", weight=9]; 4595 -> 3997[label="",style="solid", color="burlywood", weight=3]; 3981[label="primRemInt (Pos vyv2920) (Neg vyv2910)",fontsize=16,color="burlywood",shape="box"];4596[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3981 -> 4596[label="",style="solid", color="burlywood", weight=9]; 4596 -> 3998[label="",style="solid", color="burlywood", weight=3]; 4597[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3981 -> 4597[label="",style="solid", color="burlywood", weight=9]; 4597 -> 3999[label="",style="solid", color="burlywood", weight=3]; 3982[label="primRemInt (Neg vyv2920) (Pos vyv2910)",fontsize=16,color="burlywood",shape="box"];4598[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3982 -> 4598[label="",style="solid", color="burlywood", weight=9]; 4598 -> 4000[label="",style="solid", color="burlywood", weight=3]; 4599[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3982 -> 4599[label="",style="solid", color="burlywood", weight=9]; 4599 -> 4001[label="",style="solid", color="burlywood", weight=3]; 3983[label="primRemInt (Neg vyv2920) (Neg vyv2910)",fontsize=16,color="burlywood",shape="box"];4600[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3983 -> 4600[label="",style="solid", color="burlywood", weight=9]; 4600 -> 4002[label="",style="solid", color="burlywood", weight=3]; 4601[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3983 -> 4601[label="",style="solid", color="burlywood", weight=9]; 4601 -> 4003[label="",style="solid", color="burlywood", weight=3]; 3992[label="absReal1 (Pos (Succ vyv27100)) (not (GT == LT))",fontsize=16,color="black",shape="box"];3992 -> 4011[label="",style="solid", color="black", weight=3]; 3993[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];3993 -> 4012[label="",style="solid", color="black", weight=3]; 3994[label="absReal1 (Neg (Succ vyv27100)) (not True)",fontsize=16,color="black",shape="box"];3994 -> 4013[label="",style="solid", color="black", weight=3]; 3995[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];3995 -> 4014[label="",style="solid", color="black", weight=3]; 3996[label="primRemInt (Pos vyv2920) (Pos (Succ vyv29100))",fontsize=16,color="black",shape="box"];3996 -> 4015[label="",style="solid", color="black", weight=3]; 3997[label="primRemInt (Pos vyv2920) (Pos Zero)",fontsize=16,color="black",shape="box"];3997 -> 4016[label="",style="solid", color="black", weight=3]; 3998[label="primRemInt (Pos vyv2920) (Neg (Succ vyv29100))",fontsize=16,color="black",shape="box"];3998 -> 4017[label="",style="solid", color="black", weight=3]; 3999[label="primRemInt (Pos vyv2920) (Neg Zero)",fontsize=16,color="black",shape="box"];3999 -> 4018[label="",style="solid", color="black", weight=3]; 4000[label="primRemInt (Neg vyv2920) (Pos (Succ vyv29100))",fontsize=16,color="black",shape="box"];4000 -> 4019[label="",style="solid", color="black", weight=3]; 4001[label="primRemInt (Neg vyv2920) (Pos Zero)",fontsize=16,color="black",shape="box"];4001 -> 4020[label="",style="solid", color="black", weight=3]; 4002[label="primRemInt (Neg vyv2920) (Neg (Succ vyv29100))",fontsize=16,color="black",shape="box"];4002 -> 4021[label="",style="solid", color="black", weight=3]; 4003[label="primRemInt (Neg vyv2920) (Neg Zero)",fontsize=16,color="black",shape="box"];4003 -> 4022[label="",style="solid", color="black", weight=3]; 4011[label="absReal1 (Pos (Succ vyv27100)) (not False)",fontsize=16,color="black",shape="box"];4011 -> 4030[label="",style="solid", color="black", weight=3]; 4012[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];4012 -> 4031[label="",style="solid", color="black", weight=3]; 4013[label="absReal1 (Neg (Succ vyv27100)) False",fontsize=16,color="black",shape="box"];4013 -> 4032[label="",style="solid", color="black", weight=3]; 4014[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];4014 -> 4033[label="",style="solid", color="black", weight=3]; 4015[label="Pos (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4015 -> 4034[label="",style="dashed", color="green", weight=3]; 4016 -> 3805[label="",style="dashed", color="red", weight=0]; 4016[label="error []",fontsize=16,color="magenta"];4017[label="Pos (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4017 -> 4035[label="",style="dashed", color="green", weight=3]; 4018 -> 3805[label="",style="dashed", color="red", weight=0]; 4018[label="error []",fontsize=16,color="magenta"];4019[label="Neg (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4019 -> 4036[label="",style="dashed", color="green", weight=3]; 4020 -> 3805[label="",style="dashed", color="red", weight=0]; 4020[label="error []",fontsize=16,color="magenta"];4021[label="Neg (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4021 -> 4037[label="",style="dashed", color="green", weight=3]; 4022 -> 3805[label="",style="dashed", color="red", weight=0]; 4022[label="error []",fontsize=16,color="magenta"];4030[label="absReal1 (Pos (Succ vyv27100)) True",fontsize=16,color="black",shape="box"];4030 -> 4046[label="",style="solid", color="black", weight=3]; 4031[label="Pos Zero",fontsize=16,color="green",shape="box"];4032[label="absReal0 (Neg (Succ vyv27100)) otherwise",fontsize=16,color="black",shape="box"];4032 -> 4047[label="",style="solid", color="black", weight=3]; 4033[label="Neg Zero",fontsize=16,color="green",shape="box"];4034[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="burlywood",shape="triangle"];4602[label="vyv2920/Succ vyv29200",fontsize=10,color="white",style="solid",shape="box"];4034 -> 4602[label="",style="solid", color="burlywood", weight=9]; 4602 -> 4048[label="",style="solid", color="burlywood", weight=3]; 4603[label="vyv2920/Zero",fontsize=10,color="white",style="solid",shape="box"];4034 -> 4603[label="",style="solid", color="burlywood", weight=9]; 4603 -> 4049[label="",style="solid", color="burlywood", weight=3]; 4035 -> 4034[label="",style="dashed", color="red", weight=0]; 4035[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="magenta"];4035 -> 4050[label="",style="dashed", color="magenta", weight=3]; 4036 -> 4034[label="",style="dashed", color="red", weight=0]; 4036[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="magenta"];4036 -> 4051[label="",style="dashed", color="magenta", weight=3]; 4037 -> 4034[label="",style="dashed", color="red", weight=0]; 4037[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="magenta"];4037 -> 4052[label="",style="dashed", color="magenta", weight=3]; 4037 -> 4053[label="",style="dashed", color="magenta", weight=3]; 4046[label="Pos (Succ vyv27100)",fontsize=16,color="green",shape="box"];4047[label="absReal0 (Neg (Succ vyv27100)) True",fontsize=16,color="black",shape="box"];4047 -> 4101[label="",style="solid", color="black", weight=3]; 4048[label="primModNatS (Succ vyv29200) (Succ vyv29100)",fontsize=16,color="black",shape="box"];4048 -> 4102[label="",style="solid", color="black", weight=3]; 4049[label="primModNatS Zero (Succ vyv29100)",fontsize=16,color="black",shape="box"];4049 -> 4103[label="",style="solid", color="black", weight=3]; 4050[label="vyv29100",fontsize=16,color="green",shape="box"];4051[label="vyv2920",fontsize=16,color="green",shape="box"];4052[label="vyv29100",fontsize=16,color="green",shape="box"];4053[label="vyv2920",fontsize=16,color="green",shape="box"];4101[label="`negate` Neg (Succ vyv27100)",fontsize=16,color="black",shape="box"];4101 -> 4109[label="",style="solid", color="black", weight=3]; 4102[label="primModNatS0 vyv29200 vyv29100 (primGEqNatS vyv29200 vyv29100)",fontsize=16,color="burlywood",shape="box"];4604[label="vyv29200/Succ vyv292000",fontsize=10,color="white",style="solid",shape="box"];4102 -> 4604[label="",style="solid", color="burlywood", weight=9]; 4604 -> 4110[label="",style="solid", color="burlywood", weight=3]; 4605[label="vyv29200/Zero",fontsize=10,color="white",style="solid",shape="box"];4102 -> 4605[label="",style="solid", color="burlywood", weight=9]; 4605 -> 4111[label="",style="solid", color="burlywood", weight=3]; 4103[label="Zero",fontsize=16,color="green",shape="box"];4109[label="primNegInt (Neg (Succ vyv27100))",fontsize=16,color="black",shape="box"];4109 -> 4149[label="",style="solid", color="black", weight=3]; 4110[label="primModNatS0 (Succ vyv292000) vyv29100 (primGEqNatS (Succ vyv292000) vyv29100)",fontsize=16,color="burlywood",shape="box"];4606[label="vyv29100/Succ vyv291000",fontsize=10,color="white",style="solid",shape="box"];4110 -> 4606[label="",style="solid", color="burlywood", weight=9]; 4606 -> 4150[label="",style="solid", color="burlywood", weight=3]; 4607[label="vyv29100/Zero",fontsize=10,color="white",style="solid",shape="box"];4110 -> 4607[label="",style="solid", color="burlywood", weight=9]; 4607 -> 4151[label="",style="solid", color="burlywood", weight=3]; 4111[label="primModNatS0 Zero vyv29100 (primGEqNatS Zero vyv29100)",fontsize=16,color="burlywood",shape="box"];4608[label="vyv29100/Succ vyv291000",fontsize=10,color="white",style="solid",shape="box"];4111 -> 4608[label="",style="solid", color="burlywood", weight=9]; 4608 -> 4152[label="",style="solid", color="burlywood", weight=3]; 4609[label="vyv29100/Zero",fontsize=10,color="white",style="solid",shape="box"];4111 -> 4609[label="",style="solid", color="burlywood", weight=9]; 4609 -> 4153[label="",style="solid", color="burlywood", weight=3]; 4149[label="Pos (Succ vyv27100)",fontsize=16,color="green",shape="box"];4150[label="primModNatS0 (Succ vyv292000) (Succ vyv291000) (primGEqNatS (Succ vyv292000) (Succ vyv291000))",fontsize=16,color="black",shape="box"];4150 -> 4158[label="",style="solid", color="black", weight=3]; 4151[label="primModNatS0 (Succ vyv292000) Zero (primGEqNatS (Succ vyv292000) Zero)",fontsize=16,color="black",shape="box"];4151 -> 4159[label="",style="solid", color="black", weight=3]; 4152[label="primModNatS0 Zero (Succ vyv291000) (primGEqNatS Zero (Succ vyv291000))",fontsize=16,color="black",shape="box"];4152 -> 4160[label="",style="solid", color="black", weight=3]; 4153[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4153 -> 4161[label="",style="solid", color="black", weight=3]; 4158 -> 4341[label="",style="dashed", color="red", weight=0]; 4158[label="primModNatS0 (Succ vyv292000) (Succ vyv291000) (primGEqNatS vyv292000 vyv291000)",fontsize=16,color="magenta"];4158 -> 4342[label="",style="dashed", color="magenta", weight=3]; 4158 -> 4343[label="",style="dashed", color="magenta", weight=3]; 4158 -> 4344[label="",style="dashed", color="magenta", weight=3]; 4158 -> 4345[label="",style="dashed", color="magenta", weight=3]; 4159[label="primModNatS0 (Succ vyv292000) Zero True",fontsize=16,color="black",shape="box"];4159 -> 4168[label="",style="solid", color="black", weight=3]; 4160[label="primModNatS0 Zero (Succ vyv291000) False",fontsize=16,color="black",shape="box"];4160 -> 4169[label="",style="solid", color="black", weight=3]; 4161[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];4161 -> 4170[label="",style="solid", color="black", weight=3]; 4342[label="vyv292000",fontsize=16,color="green",shape="box"];4343[label="vyv291000",fontsize=16,color="green",shape="box"];4344[label="vyv292000",fontsize=16,color="green",shape="box"];4345[label="vyv291000",fontsize=16,color="green",shape="box"];4341[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS vyv332 vyv333)",fontsize=16,color="burlywood",shape="triangle"];4610[label="vyv332/Succ vyv3320",fontsize=10,color="white",style="solid",shape="box"];4341 -> 4610[label="",style="solid", color="burlywood", weight=9]; 4610 -> 4374[label="",style="solid", color="burlywood", weight=3]; 4611[label="vyv332/Zero",fontsize=10,color="white",style="solid",shape="box"];4341 -> 4611[label="",style="solid", color="burlywood", weight=9]; 4611 -> 4375[label="",style="solid", color="burlywood", weight=3]; 4168 -> 4034[label="",style="dashed", color="red", weight=0]; 4168[label="primModNatS (primMinusNatS (Succ vyv292000) Zero) (Succ Zero)",fontsize=16,color="magenta"];4168 -> 4179[label="",style="dashed", color="magenta", weight=3]; 4168 -> 4180[label="",style="dashed", color="magenta", weight=3]; 4169[label="Succ Zero",fontsize=16,color="green",shape="box"];4170 -> 4034[label="",style="dashed", color="red", weight=0]; 4170[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];4170 -> 4181[label="",style="dashed", color="magenta", weight=3]; 4170 -> 4182[label="",style="dashed", color="magenta", weight=3]; 4374[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS (Succ vyv3320) vyv333)",fontsize=16,color="burlywood",shape="box"];4612[label="vyv333/Succ vyv3330",fontsize=10,color="white",style="solid",shape="box"];4374 -> 4612[label="",style="solid", color="burlywood", weight=9]; 4612 -> 4376[label="",style="solid", color="burlywood", weight=3]; 4613[label="vyv333/Zero",fontsize=10,color="white",style="solid",shape="box"];4374 -> 4613[label="",style="solid", color="burlywood", weight=9]; 4613 -> 4377[label="",style="solid", color="burlywood", weight=3]; 4375[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS Zero vyv333)",fontsize=16,color="burlywood",shape="box"];4614[label="vyv333/Succ vyv3330",fontsize=10,color="white",style="solid",shape="box"];4375 -> 4614[label="",style="solid", color="burlywood", weight=9]; 4614 -> 4378[label="",style="solid", color="burlywood", weight=3]; 4615[label="vyv333/Zero",fontsize=10,color="white",style="solid",shape="box"];4375 -> 4615[label="",style="solid", color="burlywood", weight=9]; 4615 -> 4379[label="",style="solid", color="burlywood", weight=3]; 4179[label="Zero",fontsize=16,color="green",shape="box"];4180 -> 3880[label="",style="dashed", color="red", weight=0]; 4180[label="primMinusNatS (Succ vyv292000) Zero",fontsize=16,color="magenta"];4180 -> 4188[label="",style="dashed", color="magenta", weight=3]; 4181[label="Zero",fontsize=16,color="green",shape="box"];4182 -> 3882[label="",style="dashed", color="red", weight=0]; 4182[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];4376[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS (Succ vyv3320) (Succ vyv3330))",fontsize=16,color="black",shape="box"];4376 -> 4380[label="",style="solid", color="black", weight=3]; 4377[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS (Succ vyv3320) Zero)",fontsize=16,color="black",shape="box"];4377 -> 4381[label="",style="solid", color="black", weight=3]; 4378[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS Zero (Succ vyv3330))",fontsize=16,color="black",shape="box"];4378 -> 4382[label="",style="solid", color="black", weight=3]; 4379[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4379 -> 4383[label="",style="solid", color="black", weight=3]; 4188[label="vyv292000",fontsize=16,color="green",shape="box"];4380 -> 4341[label="",style="dashed", color="red", weight=0]; 4380[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS vyv3320 vyv3330)",fontsize=16,color="magenta"];4380 -> 4384[label="",style="dashed", color="magenta", weight=3]; 4380 -> 4385[label="",style="dashed", color="magenta", weight=3]; 4381[label="primModNatS0 (Succ vyv330) (Succ vyv331) True",fontsize=16,color="black",shape="triangle"];4381 -> 4386[label="",style="solid", color="black", weight=3]; 4382[label="primModNatS0 (Succ vyv330) (Succ vyv331) False",fontsize=16,color="black",shape="box"];4382 -> 4387[label="",style="solid", color="black", weight=3]; 4383 -> 4381[label="",style="dashed", color="red", weight=0]; 4383[label="primModNatS0 (Succ vyv330) (Succ vyv331) True",fontsize=16,color="magenta"];4384[label="vyv3320",fontsize=16,color="green",shape="box"];4385[label="vyv3330",fontsize=16,color="green",shape="box"];4386 -> 4034[label="",style="dashed", color="red", weight=0]; 4386[label="primModNatS (primMinusNatS (Succ vyv330) (Succ vyv331)) (Succ (Succ vyv331))",fontsize=16,color="magenta"];4386 -> 4388[label="",style="dashed", color="magenta", weight=3]; 4386 -> 4389[label="",style="dashed", color="magenta", weight=3]; 4387[label="Succ (Succ vyv330)",fontsize=16,color="green",shape="box"];4388[label="Succ vyv331",fontsize=16,color="green",shape="box"];4389 -> 4196[label="",style="dashed", color="red", weight=0]; 4389[label="primMinusNatS (Succ vyv330) (Succ vyv331)",fontsize=16,color="magenta"];4389 -> 4390[label="",style="dashed", color="magenta", weight=3]; 4389 -> 4391[label="",style="dashed", color="magenta", weight=3]; 4390[label="Succ vyv331",fontsize=16,color="green",shape="box"];4391[label="Succ vyv330",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(vyv292000)), Zero) -> new_primModNatS(new_primMinusNatS0(vyv292000), Zero) new_primModNatS(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS0(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS1, Zero) new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS0(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS0(vyv330, vyv331, Zero, Zero) -> new_primModNatS00(vyv330, vyv331) new_primModNatS00(vyv330, vyv331) -> new_primModNatS(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (15) Complex Obligation (AND) ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS0(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS0(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS0(vyv330, vyv331, Zero, Zero) -> new_primModNatS00(vyv330, vyv331) new_primModNatS00(vyv330, vyv331) -> new_primModNatS(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Succ(x1)) 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(vyv292000)), Succ(vyv291000)) -> new_primModNatS0(vyv292000, vyv291000, vyv292000, vyv291000) 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(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS0(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS0(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS0(vyv330, vyv331, Zero, Zero) -> new_primModNatS00(vyv330, vyv331) new_primModNatS00(vyv330, vyv331) -> new_primModNatS(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Succ(x1)) 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(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS0(vyv330, vyv331, vyv3320, vyv3330) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Succ(x1)) 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(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS0(vyv330, vyv331, vyv3320, vyv3330) 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(vyv292000)), Zero) -> new_primModNatS(new_primMinusNatS0(vyv292000), Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Succ(x1)) 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(vyv292000)), Zero) -> new_primModNatS(new_primMinusNatS0(vyv292000), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS2(Zero, Succ(vyv3110)) -> 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(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (27) YES ---------------------------------------- (28) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vyv292, vyv291) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vyv292, vyv291) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (31) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(vyv292, vyv291) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) the following chains were created: *We consider the chain new_gcd0Gcd'0(x2, x3) -> new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2), new_gcd0Gcd'1(False, x4, x5) -> new_gcd0Gcd'0(x4, new_rem(x5, x4)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)=new_gcd0Gcd'1(False, x4, x5) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (new_rem(x2, x3)=x12 & new_esEs(x12)=False ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x12)=False which results in the following new constraints: (3) (new_primEqInt(Neg(Succ(x13)))=False & new_rem(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) (4) (new_primEqInt(Neg(Zero))=False & new_rem(x2, x3)=Neg(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) (5) (new_primEqInt(Pos(Succ(x14)))=False & new_rem(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) (6) (new_primEqInt(Pos(Zero))=False & new_rem(x2, x3)=Pos(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (3) using rule (VII) which results in the following new constraint: (7) (Neg(Succ(x13))=x15 & new_primEqInt(x15)=False & new_rem(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (4) using rule (VII) which results in the following new constraint: (8) (Neg(Zero)=x52 & new_primEqInt(x52)=False & new_rem(x2, x3)=Neg(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (5) using rule (VII) which results in the following new constraint: (9) (Pos(Succ(x14))=x55 & new_primEqInt(x55)=False & new_rem(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (6) using rule (VII) which results in the following new constraint: (10) (Pos(Zero)=x92 & new_primEqInt(x92)=False & new_rem(x2, x3)=Pos(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x15)=False which results in the following new constraints: (11) (False=False & Neg(Succ(x13))=Pos(Succ(x16)) & new_rem(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) (12) (False=False & Neg(Succ(x13))=Neg(Succ(x17)) & new_rem(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We solved constraint (11) using rules (I), (II).We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_rem(x2, x3)=Neg(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_rem(x2, x3)=Neg(Succ(x13)) which results in the following new constraints: (14) (Neg(new_primModNatS1(x19, x18))=Neg(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x19), Neg(Succ(x18)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x19), Neg(Succ(x18)))), Neg(Succ(x18)), Neg(x19))) (15) (new_error=Neg(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x22), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x22), Neg(Zero))), Neg(Zero), Neg(x22))) (16) (new_error=Neg(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x23), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x23), Neg(Zero))), Neg(Zero), Pos(x23))) (17) (new_error=Neg(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x24), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x24), Pos(Zero))), Pos(Zero), Neg(x24))) (18) (Neg(new_primModNatS1(x28, x27))=Neg(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x28), Pos(Succ(x27)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x28), Pos(Succ(x27)))), Pos(Succ(x27)), Neg(x28))) (19) (new_error=Neg(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x29), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x29), Pos(Zero))), Pos(Zero), Pos(x29))) We simplified constraint (14) using rules (I), (II) which results in the following new constraint: (20) (new_primModNatS1(x19, x18)=Succ(x13) ==> new_gcd0Gcd'0(Neg(x19), Neg(Succ(x18)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x19), Neg(Succ(x18)))), Neg(Succ(x18)), Neg(x19))) We solved constraint (15) using rule (V) (with possible (I) afterwards).We solved constraint (16) using rule (V) (with possible (I) afterwards).We solved constraint (17) using rule (V) (with possible (I) afterwards).We simplified constraint (18) using rules (I), (II) which results in the following new constraint: (21) (new_primModNatS1(x28, x27)=Succ(x13) ==> new_gcd0Gcd'0(Neg(x28), Pos(Succ(x27)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x28), Pos(Succ(x27)))), Pos(Succ(x27)), Neg(x28))) We solved constraint (19) using rule (V) (with possible (I) afterwards).We simplified constraint (20) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x19, x18)=Succ(x13) which results in the following new constraints: (22) (new_primModNatS1(new_primMinusNatS0(x30), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x30))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x30))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x30))))) (23) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x31))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Succ(x31))))), Neg(Succ(Succ(x31))), Neg(Succ(Zero)))) (24) (new_primModNatS01(x33, x32, x33, x32)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x33))), Neg(Succ(Succ(x32))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x33))), Neg(Succ(Succ(x32))))), Neg(Succ(Succ(x32))), Neg(Succ(Succ(x33))))) (25) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Zero)))), 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'0(Neg(Succ(Succ(x30))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x30))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x30))))) We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: (27) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x31))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Succ(x31))))), Neg(Succ(Succ(x31))), Neg(Succ(Zero)))) We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: (28) (new_gcd0Gcd'0(Neg(Succ(Succ(x37))), Neg(Succ(Succ(x38))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x37))), Neg(Succ(Succ(x38))))), Neg(Succ(Succ(x38))), Neg(Succ(Succ(x37))))) We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: (29) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) We simplified constraint (21) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x28, x27)=Succ(x13) which results in the following new constraints: (30) (new_primModNatS1(new_primMinusNatS0(x41), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x41))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x41))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x41))))) (31) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x42))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), Neg(Succ(Zero)))) (32) (new_primModNatS01(x44, x43, x44, x43)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x44))), Pos(Succ(Succ(x43))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x44))), Pos(Succ(Succ(x43))))), Pos(Succ(Succ(x43))), Neg(Succ(Succ(x44))))) (33) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) We simplified constraint (30) using rules (III), (IV), (VII) which results in the following new constraint: (34) (new_gcd0Gcd'0(Neg(Succ(Succ(x41))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x41))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x41))))) We simplified constraint (31) using rules (I), (II), (IV) which results in the following new constraint: (35) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x42))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), Neg(Succ(Zero)))) We simplified constraint (32) using rules (III), (IV), (VII) which results in the following new constraint: (36) (new_gcd0Gcd'0(Neg(Succ(Succ(x48))), Pos(Succ(Succ(x49))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x48))), Pos(Succ(Succ(x49))))), Pos(Succ(Succ(x49))), Neg(Succ(Succ(x48))))) We simplified constraint (33) using rules (III), (IV), (VII) which results in the following new constraint: (37) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x52)=False which results in the following new constraints: (38) (False=False & Neg(Zero)=Pos(Succ(x53)) & new_rem(x2, x3)=Neg(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) (39) (False=False & Neg(Zero)=Neg(Succ(x54)) & new_rem(x2, x3)=Neg(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We solved constraint (38) using rules (I), (II).We solved constraint (39) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x55)=False which results in the following new constraints: (40) (False=False & Pos(Succ(x14))=Pos(Succ(x56)) & new_rem(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) (41) (False=False & Pos(Succ(x14))=Neg(Succ(x57)) & new_rem(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We simplified constraint (40) using rules (I), (II), (IV) which results in the following new constraint: (42) (new_rem(x2, x3)=Pos(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We solved constraint (41) using rules (I), (II).We simplified constraint (42) using rule (V) (with possible (I) afterwards) using induction on new_rem(x2, x3)=Pos(Succ(x14)) which results in the following new constraints: (43) (Pos(new_primModNatS1(x61, x60))=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x61), Pos(Succ(x60)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x61), Pos(Succ(x60)))), Pos(Succ(x60)), Pos(x61))) (44) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x62), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x62), Neg(Zero))), Neg(Zero), Neg(x62))) (45) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x63), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x63), Neg(Zero))), Neg(Zero), Pos(x63))) (46) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x64), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(x64), Pos(Zero))), Pos(Zero), Neg(x64))) (47) (Pos(new_primModNatS1(x66, x65))=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x66), Neg(Succ(x65)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x66), Neg(Succ(x65)))), Neg(Succ(x65)), Pos(x66))) (48) (new_error=Pos(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x69), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x69), Pos(Zero))), Pos(Zero), Pos(x69))) We simplified constraint (43) using rules (I), (II) which results in the following new constraint: (49) (new_primModNatS1(x61, x60)=Succ(x14) ==> new_gcd0Gcd'0(Pos(x61), Pos(Succ(x60)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x61), Pos(Succ(x60)))), Pos(Succ(x60)), Pos(x61))) We solved constraint (44) using rule (V) (with possible (I) afterwards).We solved constraint (45) using rule (V) (with possible (I) afterwards).We solved constraint (46) using rule (V) (with possible (I) afterwards).We simplified constraint (47) using rules (I), (II) which results in the following new constraint: (50) (new_primModNatS1(x66, x65)=Succ(x14) ==> new_gcd0Gcd'0(Pos(x66), Neg(Succ(x65)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(x66), Neg(Succ(x65)))), Neg(Succ(x65)), Pos(x66))) We solved constraint (48) using rule (V) (with possible (I) afterwards).We simplified constraint (49) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x61, x60)=Succ(x14) which results in the following new constraints: (51) (new_primModNatS1(new_primMinusNatS0(x70), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x70))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x70))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x70))))) (52) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Pos(Succ(Zero)))) (53) (new_primModNatS01(x73, x72, x73, x72)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x73))), Pos(Succ(Succ(x72))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x73))), Pos(Succ(Succ(x72))))), Pos(Succ(Succ(x72))), Pos(Succ(Succ(x73))))) (54) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (51) using rules (III), (IV), (VII) which results in the following new constraint: (55) (new_gcd0Gcd'0(Pos(Succ(Succ(x70))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x70))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x70))))) We simplified constraint (52) using rules (I), (II), (IV) which results in the following new constraint: (56) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Pos(Succ(Zero)))) We simplified constraint (53) using rules (III), (IV), (VII) which results in the following new constraint: (57) (new_gcd0Gcd'0(Pos(Succ(Succ(x77))), Pos(Succ(Succ(x78))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x77))), Pos(Succ(Succ(x78))))), Pos(Succ(Succ(x78))), Pos(Succ(Succ(x77))))) We simplified constraint (54) using rules (III), (IV), (VII) which results in the following new constraint: (58) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (50) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x66, x65)=Succ(x14) which results in the following new constraints: (59) (new_primModNatS1(new_primMinusNatS0(x81), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x81))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x81))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x81))))) (60) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Pos(Succ(Zero)))) (61) (new_primModNatS01(x84, x83, x84, x83)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x84))), Neg(Succ(Succ(x83))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x84))), Neg(Succ(Succ(x83))))), Neg(Succ(Succ(x83))), Pos(Succ(Succ(x84))))) (62) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (59) using rules (III), (IV), (VII) which results in the following new constraint: (63) (new_gcd0Gcd'0(Pos(Succ(Succ(x81))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x81))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x81))))) We simplified constraint (60) using rules (I), (II), (IV) which results in the following new constraint: (64) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Pos(Succ(Zero)))) We simplified constraint (61) using rules (III), (IV), (VII) which results in the following new constraint: (65) (new_gcd0Gcd'0(Pos(Succ(Succ(x88))), Neg(Succ(Succ(x89))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x88))), Neg(Succ(Succ(x89))))), Neg(Succ(Succ(x89))), Pos(Succ(Succ(x88))))) We simplified constraint (62) using rules (III), (IV), (VII) which results in the following new constraint: (66) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x92)=False which results in the following new constraints: (67) (False=False & Pos(Zero)=Pos(Succ(x93)) & new_rem(x2, x3)=Pos(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) (68) (False=False & Pos(Zero)=Neg(Succ(x94)) & new_rem(x2, x3)=Pos(Zero) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x2, x3)), x3, x2)) We solved constraint (67) using rules (I), (II).We solved constraint (68) using rules (I), (II). For Pair new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, x6, x7) -> new_gcd0Gcd'0(x6, new_rem(x7, x6)), new_gcd0Gcd'0(x8, x9) -> new_gcd0Gcd'1(new_esEs(new_rem(x8, x9)), x9, x8) which results in the following constraint: (1) (new_gcd0Gcd'0(x6, new_rem(x7, x6))=new_gcd0Gcd'0(x8, x9) ==> new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_rem(x7, x6))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_rem(x7, x6))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'0(vyv292, vyv291) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x31))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Succ(x31))))), Neg(Succ(Succ(x31))), Neg(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x42))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Succ(x42))))), Pos(Succ(Succ(x42))), Neg(Succ(Zero)))) *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Pos(Succ(Zero)))) *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Pos(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Succ(x30))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x30))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x30))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(x37))), Neg(Succ(Succ(x38))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x37))), Neg(Succ(Succ(x38))))), Neg(Succ(Succ(x38))), Neg(Succ(Succ(x37))))) *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Succ(x41))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x41))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x41))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(x48))), Pos(Succ(Succ(x49))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Succ(x48))), Pos(Succ(Succ(x49))))), Pos(Succ(Succ(x49))), Neg(Succ(Succ(x48))))) *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) *(new_gcd0Gcd'0(Pos(Succ(Succ(x70))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x70))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x70))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(x77))), Pos(Succ(Succ(x78))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x77))), Pos(Succ(Succ(x78))))), Pos(Succ(Succ(x78))), Pos(Succ(Succ(x77))))) *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) *(new_gcd0Gcd'0(Pos(Succ(Succ(x81))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x81))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x81))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(x88))), Neg(Succ(Succ(x89))))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Succ(x88))), Neg(Succ(Succ(x89))))), Neg(Succ(Succ(x89))), Pos(Succ(Succ(x88))))) *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) *new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) *(new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_rem(x7, x6))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (32) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vyv292, vyv291) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (33) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(vyv292, vyv291) -> new_gcd0Gcd'1(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0))) (new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0))) (new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0))) (new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0))) (new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0))) (new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0))) (new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0))) (new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0))) ---------------------------------------- (34) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (35) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0))) ---------------------------------------- (36) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (37) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (38) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (39) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0))) ---------------------------------------- (40) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (41) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (42) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (43) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0))) ---------------------------------------- (44) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (45) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (46) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (47) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0))) ---------------------------------------- (48) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (49) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (50) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (51) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, vyv291, vyv292) -> new_gcd0Gcd'0(vyv291, new_rem(vyv292, vyv291)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error),new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error)) (new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error),new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error)) (new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error),new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error)) (new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error),new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error)) ---------------------------------------- (52) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (53) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 4 less nodes. ---------------------------------------- (54) Complex Obligation (AND) ---------------------------------------- (55) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (56) 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. ---------------------------------------- (57) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (58) 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(Pos(x0), Pos(Succ(x1))) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_error new_rem(Neg(x0), Neg(Succ(x1))) new_rem(Pos(x0), Pos(Zero)) new_rem(Neg(x0), Neg(Zero)) ---------------------------------------- (59) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (60) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) (new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero))) ---------------------------------------- (61) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (62) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (63) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (64) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (65) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (66) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (67) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (68) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (69) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (70) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero)))) (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero))) ---------------------------------------- (71) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (72) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (73) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (74) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) ---------------------------------------- (75) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (77) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (78) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (79) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (80) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) (new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero))) ---------------------------------------- (81) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (82) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (83) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (84) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(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, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (85) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (86) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (87) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (88) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (89) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (90) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero))) ---------------------------------------- (91) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (92) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. ---------------------------------------- (93) Complex Obligation (AND) ---------------------------------------- (94) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (95) 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. ---------------------------------------- (96) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (97) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) ---------------------------------------- (98) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (99) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (100) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (101) 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. ---------------------------------------- (102) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (103) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (104) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (105) 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. ---------------------------------------- (106) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (107) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (108) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (109) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) ---------------------------------------- (110) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (111) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (112) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (113) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) ---------------------------------------- (114) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (115) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (116) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (117) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (118) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (119) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (120) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (121) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (122) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (123) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (124) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(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_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (127) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (128) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (129) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (130) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (131) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (132) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (133) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (134) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (135) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (136) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (137) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (138) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (139) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = 1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) ---------------------------------------- (140) YES ---------------------------------------- (141) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (142) 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. ---------------------------------------- (143) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (144) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) ---------------------------------------- (145) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (146) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) ---------------------------------------- (147) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (148) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) ---------------------------------------- (149) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (150) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (151) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (152) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(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, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (153) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (154) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (155) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (156) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (157) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (158) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (159) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (160) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (161) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (162) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) ---------------------------------------- (163) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (164) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (165) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (166) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(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, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (167) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (168) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (169) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (170) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (171) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (172) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (173) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (174) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (175) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (176) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) ---------------------------------------- (177) YES ---------------------------------------- (178) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (179) 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. ---------------------------------------- (180) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (181) 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_primMinusNatS1 new_primMinusNatS0(x0) ---------------------------------------- (182) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (183) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (184) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (185) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (186) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (187) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (188) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (189) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (190) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (191) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (192) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (193) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (194) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (195) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (196) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (197) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (198) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (199) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (200) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (201) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (202) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (203) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (204) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (205) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (206) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (207) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (208) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (209) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (210) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (211) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (212) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (213) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (214) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (215) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (216) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (217) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (218) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (219) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (220) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (221) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (222) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (223) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (224) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (225) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (226) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (227) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (228) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (229) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (230) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (231) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (232) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (233) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (234) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (235) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (236) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (237) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (238) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (239) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (240) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (241) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (242) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (243) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (244) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (245) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (246) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (247) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (248) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (249) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (250) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (251) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (252) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (253) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (254) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (255) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (256) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (257) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (258) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (259) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (260) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (261) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (262) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (263) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (264) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (265) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (266) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (267) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (268) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (269) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (270) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (271) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (272) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (273) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (274) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (275) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (276) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (277) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (278) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (279) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (280) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (281) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (282) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (283) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (284) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (285) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (286) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (287) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (288) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (289) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (290) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (291) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (292) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (293) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (294) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (295) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (296) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (297) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (298) Complex Obligation (AND) ---------------------------------------- (299) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (300) 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. ---------------------------------------- (301) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (302) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) ---------------------------------------- (303) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (304) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (305) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (306) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (307) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (308) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (309) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (310) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x2, Zero, x2, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS01(x1, Zero, x1, Zero))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraints: (3) (new_primEqInt(Neg(Succ(x21)))=False & Neg(new_primModNatS01(x1, Zero, x1, Zero))=Neg(Succ(x21)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) (4) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS01(x1, Zero, x1, Zero))=Neg(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Neg(Succ(x21))=x22 & new_primEqInt(x22)=False & Zero=x23 & x1=x24 & Zero=x25 & new_primModNatS01(x1, x23, x24, x25)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Neg(Zero)=x54 & new_primEqInt(x54)=False & Zero=x55 & x1=x56 & Zero=x57 & new_primModNatS01(x1, x55, x56, x57)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x22)=False which results in the following new constraint: (7) (False=False & Neg(Succ(x21))=Neg(Succ(x26)) & Zero=x23 & x1=x24 & Zero=x25 & new_primModNatS01(x1, x23, x24, x25)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (8) (Zero=x23 & x1=x24 & Zero=x25 & new_primModNatS01(x1, x23, x24, x25)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1, x23, x24, x25)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS02(x28, x27)=Succ(x21) & Zero=x27 & x28=Zero & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x28, Zero, x28, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x28))))))) (10) (new_primModNatS01(x32, x31, x30, x29)=Succ(x21) & Zero=x31 & x32=Succ(x30) & Zero=Succ(x29) & (\/x33:new_primModNatS01(x32, x31, x30, x29)=Succ(x33) & Zero=x31 & x32=x30 & Zero=x29 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x32))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x32, Zero, x32, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x32))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x32))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x32, Zero, x32, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x32))))))) (11) (new_primModNatS02(x36, x35)=Succ(x21) & Zero=x35 & x36=Succ(x34) & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x36))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x36, Zero, x36, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x36))))))) (12) (Succ(Succ(x39))=Succ(x21) & Zero=x38 & x39=Zero & Zero=Succ(x37) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x39))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x39, Zero, x39, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x39))))))) We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (13) (Zero=x40 & new_primModNatS02(x40, x27)=Succ(x21) & Zero=x27 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We solved constraint (10) using rules (I), (II).We simplified constraint (11) using rules (I), (II), (III), (VII) which results in the following new constraint: (14) (Succ(x34)=x47 & new_primModNatS02(x47, x35)=Succ(x21) & Zero=x35 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x34)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x34), Zero, Succ(x34), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x34)))))))) We solved constraint (12) using rules (I), (II).We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x40, x27)=Succ(x21) which results in the following new constraint: (15) (new_primModNatS1(new_primMinusNatS2(Succ(x42), Succ(x41)), Succ(x41))=Succ(x21) & Zero=x42 & Zero=x41 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x47, x35)=Succ(x21) which results in the following new constraint: (17) (new_primModNatS1(new_primMinusNatS2(Succ(x49), Succ(x48)), Succ(x48))=Succ(x21) & Succ(x34)=x49 & Zero=x48 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x34)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x34), Zero, Succ(x34), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x34)))))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (18) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x34)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x34), Zero, Succ(x34), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x34)))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x54)=False which results in the following new constraint: (19) (False=False & Neg(Zero)=Neg(Succ(x58)) & Zero=x55 & x1=x56 & Zero=x57 & new_primModNatS01(x1, x55, x56, x57)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x1, Zero, x1, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1))))))) We solved constraint (19) using rules (I), (II). For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x7, Zero, x7, Zero))), new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x8))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x8)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x7, Zero, x7, Zero)))=new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x8))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x7, Zero, x7, Zero)))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Zero=x59 & x7=x60 & Zero=x61 & new_primModNatS01(x7, x59, x60, x61)=Succ(Succ(Succ(x8))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x7, Zero, x7, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x7, x59, x60, x61)=Succ(Succ(Succ(x8))) which results in the following new constraints: (3) (new_primModNatS02(x63, x62)=Succ(Succ(Succ(x8))) & Zero=x62 & x63=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x63))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x63, Zero, x63, Zero)))) (4) (new_primModNatS01(x67, x66, x65, x64)=Succ(Succ(Succ(x8))) & Zero=x66 & x67=Succ(x65) & Zero=Succ(x64) & (\/x68:new_primModNatS01(x67, x66, x65, x64)=Succ(Succ(Succ(x68))) & Zero=x66 & x67=x65 & Zero=x64 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x67))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x67, Zero, x67, Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x67))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x67, Zero, x67, Zero)))) (5) (new_primModNatS02(x71, x70)=Succ(Succ(Succ(x8))) & Zero=x70 & x71=Succ(x69) & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x71))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x71, Zero, x71, Zero)))) (6) (Succ(Succ(x74))=Succ(Succ(Succ(x8))) & Zero=x73 & x74=Zero & Zero=Succ(x72) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x74))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x74, Zero, x74, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Zero=x75 & new_primModNatS02(x75, x62)=Succ(Succ(Succ(x8))) & Zero=x62 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Succ(x69)=x82 & new_primModNatS02(x82, x70)=Succ(Succ(Succ(x8))) & Zero=x70 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x69)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x69), Zero, Succ(x69), Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x75, x62)=Succ(Succ(Succ(x8))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x77), Succ(x76)), Succ(x76))=Succ(Succ(Succ(x8))) & Zero=x77 & Zero=x76 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x82, x70)=Succ(Succ(Succ(x8))) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x84), Succ(x83)), Succ(x83))=Succ(Succ(Succ(x8))) & Succ(x69)=x84 & Zero=x83 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x69)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x69), Zero, Succ(x69), Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x69)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x69), Zero, Succ(x69), Zero)))) For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x13))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x13)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x14)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x14)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x13)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x14)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x13)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x13)))), Pos(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x15)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x15)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x16, Zero, x16, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x16)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x15)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x15)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x15)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Zero))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x34)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x34), Zero, Succ(x34), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x34)))))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x69)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x69), Zero, Succ(x69), Zero)))) *new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x13)))), Pos(Succ(Succ(Zero))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Zero))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (311) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (312) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (313) 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. ---------------------------------------- (314) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (315) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (316) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (317) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (318) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (319) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (320) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (321) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) ---------------------------------------- (322) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (323) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (324) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (325) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1, Zero, x1, Zero))), new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1, Zero, x1, Zero)))=new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1, Zero, x1, Zero)))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Zero=x20 & x1=x21 & Zero=x22 & new_primModNatS01(x1, x20, x21, x22)=Succ(Succ(Succ(x2))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1, Zero, x1, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1, x20, x21, x22)=Succ(Succ(Succ(x2))) which results in the following new constraints: (3) (new_primModNatS02(x24, x23)=Succ(Succ(Succ(x2))) & Zero=x23 & x24=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x24))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x24, Zero, x24, Zero)))) (4) (new_primModNatS01(x28, x27, x26, x25)=Succ(Succ(Succ(x2))) & Zero=x27 & x28=Succ(x26) & Zero=Succ(x25) & (\/x29:new_primModNatS01(x28, x27, x26, x25)=Succ(Succ(Succ(x29))) & Zero=x27 & x28=x26 & Zero=x25 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x28, Zero, x28, Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x28, Zero, x28, Zero)))) (5) (new_primModNatS02(x32, x31)=Succ(Succ(Succ(x2))) & Zero=x31 & x32=Succ(x30) & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x32))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x32, Zero, x32, Zero)))) (6) (Succ(Succ(x35))=Succ(Succ(Succ(x2))) & Zero=x34 & x35=Zero & Zero=Succ(x33) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x35))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x35, Zero, x35, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Zero=x36 & new_primModNatS02(x36, x23)=Succ(Succ(Succ(x2))) & Zero=x23 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Succ(x30)=x43 & new_primModNatS02(x43, x31)=Succ(Succ(Succ(x2))) & Zero=x31 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x36, x23)=Succ(Succ(Succ(x2))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x38), Succ(x37)), Succ(x37))=Succ(Succ(Succ(x2))) & Zero=x38 & Zero=x37 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x43, x31)=Succ(Succ(Succ(x2))) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x45), Succ(x44)), Succ(x44))=Succ(Succ(Succ(x2))) & Succ(x30)=x45 & Zero=x44 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x7))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x7)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x8)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x8)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x7)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x8)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x7)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x7)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x7)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x7)))), Neg(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x14, Zero, x14, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x14)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x16, Zero, x16, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS01(x15, Zero, x15, Zero))=x50 & new_esEs(x50)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x50)=False which results in the following new constraints: (3) (new_primEqInt(Pos(Succ(x51)))=False & Pos(new_primModNatS01(x15, Zero, x15, Zero))=Pos(Succ(x51)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) (4) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS01(x15, Zero, x15, Zero))=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Pos(Succ(x51))=x52 & new_primEqInt(x52)=False & Zero=x53 & x15=x54 & Zero=x55 & new_primModNatS01(x15, x53, x54, x55)=Succ(x51) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Pos(Zero)=x84 & new_primEqInt(x84)=False & Zero=x85 & x15=x86 & Zero=x87 & new_primModNatS01(x15, x85, x86, x87)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x52)=False which results in the following new constraint: (7) (False=False & Pos(Succ(x51))=Pos(Succ(x56)) & Zero=x53 & x15=x54 & Zero=x55 & new_primModNatS01(x15, x53, x54, x55)=Succ(x51) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (8) (Zero=x53 & x15=x54 & Zero=x55 & new_primModNatS01(x15, x53, x54, x55)=Succ(x51) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x15, x53, x54, x55)=Succ(x51) which results in the following new constraints: (9) (new_primModNatS02(x58, x57)=Succ(x51) & Zero=x57 & x58=Zero & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x58, Zero, x58, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x58))))))) (10) (new_primModNatS01(x62, x61, x60, x59)=Succ(x51) & Zero=x61 & x62=Succ(x60) & Zero=Succ(x59) & (\/x63:new_primModNatS01(x62, x61, x60, x59)=Succ(x63) & Zero=x61 & x62=x60 & Zero=x59 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x62))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x62, Zero, x62, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x62))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x62))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x62, Zero, x62, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x62))))))) (11) (new_primModNatS02(x66, x65)=Succ(x51) & Zero=x65 & x66=Succ(x64) & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x66))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x66, Zero, x66, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x66))))))) (12) (Succ(Succ(x69))=Succ(x51) & Zero=x68 & x69=Zero & Zero=Succ(x67) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x69))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x69, Zero, x69, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x69))))))) We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (13) (Zero=x70 & new_primModNatS02(x70, x57)=Succ(x51) & Zero=x57 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We solved constraint (10) using rules (I), (II).We simplified constraint (11) using rules (I), (II), (III), (VII) which results in the following new constraint: (14) (Succ(x64)=x77 & new_primModNatS02(x77, x65)=Succ(x51) & Zero=x65 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x64), Zero, Succ(x64), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))) We solved constraint (12) using rules (I), (II).We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x70, x57)=Succ(x51) which results in the following new constraint: (15) (new_primModNatS1(new_primMinusNatS2(Succ(x72), Succ(x71)), Succ(x71))=Succ(x51) & Zero=x72 & Zero=x71 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: (16) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x77, x65)=Succ(x51) which results in the following new constraint: (17) (new_primModNatS1(new_primMinusNatS2(Succ(x79), Succ(x78)), Succ(x78))=Succ(x51) & Succ(x64)=x79 & Zero=x78 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x64), Zero, Succ(x64), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (18) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x64), Zero, Succ(x64), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x84)=False which results in the following new constraint: (19) (False=False & Pos(Zero)=Pos(Succ(x88)) & Zero=x85 & x15=x86 & Zero=x87 & new_primModNatS01(x15, x85, x86, x87)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x15, Zero, x15, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x15))))))) We solved constraint (19) using rules (I), (II). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) *new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x7)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x7)))), Neg(Succ(Succ(Zero))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Zero))))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x64), Zero, Succ(x64), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))) 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. ---------------------------------------- (326) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (327) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (328) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (329) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (330) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (331) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (332) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (333) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (334) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (335) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (336) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (337) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (338) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (339) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (340) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (341) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (342) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (343) Complex Obligation (AND) ---------------------------------------- (344) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (345) 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. ---------------------------------------- (346) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (347) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1), Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x1)=x20 & Succ(Succ(Zero))=x21 & new_primModNatS1(x20, x21)=Succ(Succ(Succ(Succ(x2)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x20, x21)=Succ(Succ(Succ(Succ(x2)))) which results in the following new constraints: (3) (new_primModNatS01(x23, x22, x23, x22)=Succ(Succ(Succ(Succ(x2)))) & Succ(x1)=Succ(Succ(x23)) & Succ(Succ(Zero))=Succ(x22) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1), Succ(Succ(Zero)))))) (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x2)))) & Succ(x1)=Succ(Zero) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x23=x26 & x22=x27 & new_primModNatS01(x23, x22, x26, x27)=Succ(Succ(Succ(Succ(x2)))) & Succ(Zero)=x22 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x23)), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x23, x22, x26, x27)=Succ(Succ(Succ(Succ(x2)))) which results in the following new constraints: (6) (new_primModNatS02(x29, x28)=Succ(Succ(Succ(Succ(x2)))) & x29=Zero & x28=Zero & Succ(Zero)=x28 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x29)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x29)), Succ(Succ(Zero)))))) (7) (new_primModNatS01(x33, x32, x31, x30)=Succ(Succ(Succ(Succ(x2)))) & x33=Succ(x31) & x32=Succ(x30) & Succ(Zero)=x32 & (\/x34:new_primModNatS01(x33, x32, x31, x30)=Succ(Succ(Succ(Succ(x34)))) & x33=x31 & x32=x30 & Succ(Zero)=x32 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x33)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x33)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x33)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x33)), Succ(Succ(Zero)))))) (8) (new_primModNatS02(x37, x36)=Succ(Succ(Succ(Succ(x2)))) & x37=Succ(x35) & x36=Zero & Succ(Zero)=x36 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero)))))) (9) (Succ(Succ(x40))=Succ(Succ(Succ(Succ(x2)))) & x40=Zero & x39=Succ(x38) & Succ(Zero)=x39 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x40)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x40)), Succ(Succ(Zero)))))) We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x31))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x31))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x16), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))=x43 & new_esEs(x43)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x43)=False which results in the following new constraints: (3) (new_primEqInt(Pos(Succ(x44)))=False & Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))=Pos(Succ(x44)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) (4) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Pos(Succ(x44))=x45 & new_primEqInt(x45)=False & Succ(x15)=x46 & Succ(Succ(Zero))=x47 & new_primModNatS1(x46, x47)=Succ(x44) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Pos(Zero)=x70 & new_primEqInt(x70)=False & Succ(x15)=x71 & Succ(Succ(Zero))=x72 & new_primModNatS1(x71, x72)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x45)=False which results in the following new constraint: (7) (False=False & Pos(Succ(x44))=Pos(Succ(x48)) & Succ(x15)=x46 & Succ(Succ(Zero))=x47 & new_primModNatS1(x46, x47)=Succ(x44) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (8) (Succ(x15)=x46 & Succ(Succ(Zero))=x47 & new_primModNatS1(x46, x47)=Succ(x44) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x46, x47)=Succ(x44) which results in the following new constraints: (9) (new_primModNatS01(x50, x49, x50, x49)=Succ(x44) & Succ(x15)=Succ(Succ(x50)) & Succ(Succ(Zero))=Succ(x49) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) (10) (Succ(Zero)=Succ(x44) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x51) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x50=x53 & x49=x54 & new_primModNatS01(x50, x49, x53, x54)=Succ(x44) & Succ(Zero)=x49 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x50)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x50)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))))) We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x50, x49, x53, x54)=Succ(x44) which results in the following new constraints: (13) (new_primModNatS02(x56, x55)=Succ(x44) & x56=Zero & x55=Zero & Succ(Zero)=x55 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x56)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x56)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))) (14) (new_primModNatS01(x60, x59, x58, x57)=Succ(x44) & x60=Succ(x58) & x59=Succ(x57) & Succ(Zero)=x59 & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(x61) & x60=x58 & x59=x57 & Succ(Zero)=x59 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x60)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x60)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))) (15) (new_primModNatS02(x64, x63)=Succ(x44) & x64=Succ(x62) & x63=Zero & Succ(Zero)=x63 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))) (16) (Succ(Succ(x67))=Succ(x44) & x67=Zero & x66=Succ(x65) & Succ(Zero)=x66 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x67)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x67)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x67)))))))) We solved constraint (13) using rules (I), (II), (III).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x58))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x58))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x58))))))))) We solved constraint (15) using rules (I), (II), (III).We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x70)=False which results in the following new constraint: (19) (False=False & Pos(Zero)=Pos(Succ(x73)) & Succ(x15)=x71 & Succ(Succ(Zero))=x72 & new_primModNatS1(x71, x72)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x15))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))) We solved constraint (19) using rules (I), (II). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x31))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x31))), Succ(Succ(Zero)))))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x58))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x58))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x58))))))))) 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. ---------------------------------------- (348) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (349) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (350) 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. ---------------------------------------- (351) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (352) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (353) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (354) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (355) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (356) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (357) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (358) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (359) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (360) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraints: (3) (new_primEqInt(Neg(Succ(x21)))=False & Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) (4) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Neg(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Neg(Succ(x21))=x22 & new_primEqInt(x22)=False & Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Neg(Zero)=x47 & new_primEqInt(x47)=False & Succ(x8)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x22)=False which results in the following new constraint: (7) (False=False & Neg(Succ(x21))=Neg(Succ(x25)) & Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (8) (Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x23, x24)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS01(x27, x26, x27, x26)=Succ(x21) & Succ(x8)=Succ(Succ(x27)) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) (10) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x28) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x27=x30 & x26=x31 & new_primModNatS01(x27, x26, x30, x31)=Succ(x21) & Succ(Zero)=x26 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x27)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x27)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x27)))))))) We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x27, x26, x30, x31)=Succ(x21) which results in the following new constraints: (13) (new_primModNatS02(x33, x32)=Succ(x21) & x33=Zero & x32=Zero & Succ(Zero)=x32 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x33)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x33)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x33)))))))) (14) (new_primModNatS01(x37, x36, x35, x34)=Succ(x21) & x37=Succ(x35) & x36=Succ(x34) & Succ(Zero)=x36 & (\/x38:new_primModNatS01(x37, x36, x35, x34)=Succ(x38) & x37=x35 & x36=x34 & Succ(Zero)=x36 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x37)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x37)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x37)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x37)))))))) (15) (new_primModNatS02(x41, x40)=Succ(x21) & x41=Succ(x39) & x40=Zero & Succ(Zero)=x40 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x41)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x41)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x41)))))))) (16) (Succ(Succ(x44))=Succ(x21) & x44=Zero & x43=Succ(x42) & Succ(Zero)=x43 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x44)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x44)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x44)))))))) We solved constraint (13) using rules (I), (II), (III).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))) We solved constraint (15) using rules (I), (II), (III).We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x47)=False which results in the following new constraint: (19) (False=False & Neg(Zero)=Neg(Succ(x50)) & Succ(x8)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We solved constraint (19) using rules (I), (II). For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x18))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x17)=x51 & Succ(Succ(Zero))=x52 & new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (3) (new_primModNatS01(x54, x53, x54, x53)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x54)) & Succ(Succ(Zero))=Succ(x53) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x55) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x54=x57 & x53=x58 & new_primModNatS01(x54, x53, x57, x58)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x54, x53, x57, x58)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (6) (new_primModNatS02(x60, x59)=Succ(Succ(Succ(Succ(x18)))) & x60=Zero & x59=Zero & Succ(Zero)=x59 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x60)), Succ(Succ(Zero)))))) (7) (new_primModNatS01(x64, x63, x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x64=Succ(x62) & x63=Succ(x61) & Succ(Zero)=x63 & (\/x65:new_primModNatS01(x64, x63, x62, x61)=Succ(Succ(Succ(Succ(x65)))) & x64=x62 & x63=x61 & Succ(Zero)=x63 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) (8) (new_primModNatS02(x68, x67)=Succ(Succ(Succ(Succ(x18)))) & x68=Succ(x66) & x67=Zero & Succ(Zero)=x67 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x68)), Succ(Succ(Zero)))))) (9) (Succ(Succ(x71))=Succ(Succ(Succ(Succ(x18)))) & x71=Zero & x70=Succ(x69) & Succ(Zero)=x70 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x71)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x71)), Succ(Succ(Zero)))))) We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (361) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (362) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (363) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(new_primModNatS01(Succ(Succ(x5)), Succ(Succ(x4)), x5, x4))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=x40 & new_esEs(x40)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x40)=False which results in the following new constraints: (3) (new_primEqInt(Pos(Succ(x41)))=False & Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=Pos(Succ(x41)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (4) (new_primEqInt(Pos(Zero))=False & Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=Pos(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (5) (new_primEqInt(Neg(Succ(x42)))=False & Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=Neg(Succ(x42)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (6) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))=Neg(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (VII) which results in the following new constraint: (7) (Neg(Succ(x42))=x43 & new_primEqInt(x43)=False & Succ(Succ(x2))=x44 & Succ(Succ(x3))=x45 & new_primModNatS01(x44, x45, x2, x3)=Succ(x42) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) We simplified constraint (6) using rules (I), (II), (VII) which results in the following new constraint: (8) (Neg(Zero)=x86 & new_primEqInt(x86)=False & Succ(Succ(x2))=x87 & Succ(Succ(x3))=x88 & new_primModNatS01(x87, x88, x2, x3)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x43)=False which results in the following new constraints: (9) (False=False & Neg(Succ(x42))=Pos(Succ(x46)) & Succ(Succ(x2))=x44 & Succ(Succ(x3))=x45 & new_primModNatS01(x44, x45, x2, x3)=Succ(x42) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (10) (False=False & Neg(Succ(x42))=Neg(Succ(x47)) & Succ(Succ(x2))=x44 & Succ(Succ(x3))=x45 & new_primModNatS01(x44, x45, x2, x3)=Succ(x42) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rules (I), (II), (IV) which results in the following new constraint: (11) (Succ(Succ(x2))=x44 & Succ(Succ(x3))=x45 & new_primModNatS01(x44, x45, x2, x3)=Succ(x42) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x44, x45, x2, x3)=Succ(x42) which results in the following new constraints: (12) (new_primModNatS02(x49, x48)=Succ(x42) & Succ(Succ(Zero))=x49 & Succ(Succ(Zero))=x48 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (13) (new_primModNatS01(x53, x52, x51, x50)=Succ(x42) & Succ(Succ(Succ(x51)))=x53 & Succ(Succ(Succ(x50)))=x52 & (\/x54:new_primModNatS01(x53, x52, x51, x50)=Succ(x54) & Succ(Succ(x51))=x53 & Succ(Succ(x50))=x52 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x51))))), Pos(Succ(Succ(Succ(Succ(x50))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x51)), Succ(Succ(x50)), x51, x50))), Pos(Succ(Succ(Succ(Succ(x50))))), Neg(Succ(Succ(Succ(Succ(x51))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x51)))))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x51))), Succ(Succ(Succ(x50))), Succ(x51), Succ(x50)))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))), Neg(Succ(Succ(Succ(Succ(Succ(x51)))))))) (14) (new_primModNatS02(x57, x56)=Succ(x42) & Succ(Succ(Succ(x55)))=x57 & Succ(Succ(Zero))=x56 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x55))), Succ(Succ(Zero)), Succ(x55), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) (15) (Succ(Succ(x60))=Succ(x42) & Succ(Succ(Zero))=x60 & Succ(Succ(Succ(x58)))=x59 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x58))), Zero, Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (12) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x49, x48)=Succ(x42) which results in the following new constraint: (16) (new_primModNatS1(new_primMinusNatS2(Succ(x62), Succ(x61)), Succ(x61))=Succ(x42) & Succ(Succ(Zero))=x62 & Succ(Succ(Zero))=x61 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rule (IV) which results in the following new constraint: (17) (new_primModNatS01(x53, x52, x51, x50)=Succ(x42) & Succ(Succ(Succ(x51)))=x53 & Succ(Succ(Succ(x50)))=x52 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x51)))))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x51))), Succ(Succ(Succ(x50))), Succ(x51), Succ(x50)))), Pos(Succ(Succ(Succ(Succ(Succ(x50)))))), Neg(Succ(Succ(Succ(Succ(Succ(x51)))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x57, x56)=Succ(x42) which results in the following new constraint: (18) (new_primModNatS1(new_primMinusNatS2(Succ(x81), Succ(x80)), Succ(x80))=Succ(x42) & Succ(Succ(Succ(x55)))=x81 & Succ(Succ(Zero))=x80 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x55))), Succ(Succ(Zero)), Succ(x55), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x58))), Zero, Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (17) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x53, x52, x51, x50)=Succ(x42) which results in the following new constraints: (21) (new_primModNatS02(x68, x67)=Succ(x42) & Succ(Succ(Succ(Zero)))=x68 & Succ(Succ(Succ(Zero)))=x67 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (22) (new_primModNatS01(x72, x71, x70, x69)=Succ(x42) & Succ(Succ(Succ(Succ(x70))))=x72 & Succ(Succ(Succ(Succ(x69))))=x71 & (\/x73:new_primModNatS01(x72, x71, x70, x69)=Succ(x73) & Succ(Succ(Succ(x70)))=x72 & Succ(Succ(Succ(x69)))=x71 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x70)))))), Pos(Succ(Succ(Succ(Succ(Succ(x69)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x70))), Succ(Succ(Succ(x69))), Succ(x70), Succ(x69)))), Pos(Succ(Succ(Succ(Succ(Succ(x69)))))), Neg(Succ(Succ(Succ(Succ(Succ(x70)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x70))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x70)))), Succ(Succ(Succ(Succ(x69)))), Succ(Succ(x70)), Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x70))))))))) (23) (new_primModNatS02(x76, x75)=Succ(x42) & Succ(Succ(Succ(Succ(x74))))=x76 & Succ(Succ(Succ(Zero)))=x75 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x74))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x74)))), Succ(Succ(Succ(Zero))), Succ(Succ(x74)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x74))))))))) (24) (Succ(Succ(x79))=Succ(x42) & Succ(Succ(Succ(Zero)))=x79 & Succ(Succ(Succ(Succ(x77))))=x78 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x77)))), Succ(Zero), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (21) using rules (III), (IV) which results in the following new constraint: (25) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (22) using rules (III), (IV) which results in the following new constraint: (26) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x70))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x70)))), Succ(Succ(Succ(Succ(x69)))), Succ(Succ(x70)), Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x70))))))))) We simplified constraint (23) using rules (III), (IV) which results in the following new constraint: (27) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x74))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x74)))), Succ(Succ(Succ(Zero))), Succ(Succ(x74)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x74))))))))) We simplified constraint (24) using rules (I), (II), (IV) which results in the following new constraint: (28) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x77)))), Succ(Zero), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (29) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x55))), Succ(Succ(Zero)), Succ(x55), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x86)=False which results in the following new constraints: (30) (False=False & Neg(Zero)=Pos(Succ(x89)) & Succ(Succ(x2))=x87 & Succ(Succ(x3))=x88 & new_primModNatS01(x87, x88, x2, x3)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (31) (False=False & Neg(Zero)=Neg(Succ(x90)) & Succ(Succ(x2))=x87 & Succ(Succ(x3))=x88 & new_primModNatS01(x87, x88, x2, x3)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) We solved constraint (30) using rules (I), (II).We solved constraint (31) using rules (I), (II). For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(new_primModNatS01(Succ(Succ(x15)), Succ(Succ(x14)), x15, x14))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x16)), Succ(Succ(x17)), x16, x17))), Neg(Succ(Succ(Succ(Succ(x17))))), Pos(Succ(Succ(Succ(Succ(x16)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(new_primModNatS01(Succ(Succ(x15)), Succ(Succ(x14)), x15, x14)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Succ(x17)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(new_primModNatS01(Succ(Succ(x15)), Succ(Succ(x14)), x15, x14)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x15))=x91 & Succ(Succ(x14))=x92 & new_primModNatS01(x91, x92, x15, x14)=Succ(Succ(Succ(Succ(x17)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(new_primModNatS01(Succ(Succ(x15)), Succ(Succ(x14)), x15, x14)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x91, x92, x15, x14)=Succ(Succ(Succ(Succ(x17)))) which results in the following new constraints: (3) (new_primModNatS02(x94, x93)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Zero))=x94 & Succ(Succ(Zero))=x93 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x98, x97, x96, x95)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(x96)))=x98 & Succ(Succ(Succ(x95)))=x97 & (\/x99:new_primModNatS01(x98, x97, x96, x95)=Succ(Succ(Succ(Succ(x99)))) & Succ(Succ(x96))=x98 & Succ(Succ(x95))=x97 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x95))))), Neg(Succ(Succ(Succ(Succ(x96))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x95))))), Neg(new_primModNatS01(Succ(Succ(x96)), Succ(Succ(x95)), x96, x95)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x95)))))), Neg(Succ(Succ(Succ(Succ(Succ(x96)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x95)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x96))), Succ(Succ(Succ(x95))), Succ(x96), Succ(x95))))) (5) (new_primModNatS02(x102, x101)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(x100)))=x102 & Succ(Succ(Zero))=x101 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x100)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x100))), Succ(Succ(Zero)), Succ(x100), Zero)))) (6) (Succ(Succ(x105))=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Zero))=x105 & Succ(Succ(Succ(x103)))=x104 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x103)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x103)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x103))), Zero, Succ(x103))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x94, x93)=Succ(Succ(Succ(Succ(x17)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x107), Succ(x106)), Succ(x106))=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Zero))=x107 & Succ(Succ(Zero))=x106 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x98, x97, x96, x95)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(x96)))=x98 & Succ(Succ(Succ(x95)))=x97 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x95)))))), Neg(Succ(Succ(Succ(Succ(Succ(x96)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x95)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x96))), Succ(Succ(Succ(x95))), Succ(x96), Succ(x95))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x102, x101)=Succ(Succ(Succ(Succ(x17)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x126), Succ(x125)), Succ(x125))=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(x100)))=x126 & Succ(Succ(Zero))=x125 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x100)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x100))), Succ(Succ(Zero)), Succ(x100), Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x103)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x103)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x103))), Zero, Succ(x103))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x98, x97, x96, x95)=Succ(Succ(Succ(Succ(x17)))) which results in the following new constraints: (12) (new_primModNatS02(x113, x112)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(Zero)))=x113 & Succ(Succ(Succ(Zero)))=x112 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x117, x116, x115, x114)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(Succ(x115))))=x117 & Succ(Succ(Succ(Succ(x114))))=x116 & (\/x118:new_primModNatS01(x117, x116, x115, x114)=Succ(Succ(Succ(Succ(x118)))) & Succ(Succ(Succ(x115)))=x117 & Succ(Succ(Succ(x114)))=x116 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x114)))))), Neg(Succ(Succ(Succ(Succ(Succ(x115)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x114)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x115))), Succ(Succ(Succ(x114))), Succ(x115), Succ(x114))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x115))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x115)))), Succ(Succ(Succ(Succ(x114)))), Succ(Succ(x115)), Succ(Succ(x114)))))) (14) (new_primModNatS02(x121, x120)=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(Succ(x119))))=x121 & Succ(Succ(Succ(Zero)))=x120 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x119))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x119)))), Succ(Succ(Succ(Zero))), Succ(Succ(x119)), Succ(Zero))))) (15) (Succ(Succ(x124))=Succ(Succ(Succ(Succ(x17)))) & Succ(Succ(Succ(Zero)))=x124 & Succ(Succ(Succ(Succ(x122))))=x123 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x122)))), Succ(Zero), Succ(Succ(x122)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x115))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x115)))), Succ(Succ(Succ(Succ(x114)))), Succ(Succ(x115)), Succ(Succ(x114)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x119))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x119)))), Succ(Succ(Succ(Zero))), Succ(Succ(x119)), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x122)))), Succ(Zero), Succ(Succ(x122)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x100)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x100))), Succ(Succ(Zero)), Succ(x100), Zero)))) For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(new_primModNatS01(Succ(Succ(x29)), Succ(Succ(x28)), x29, x28))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))=x131 & new_esEs(x131)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x131)=False which results in the following new constraints: (3) (new_primEqInt(Pos(Succ(x132)))=False & Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))=Pos(Succ(x132)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) (4) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) (5) (new_primEqInt(Neg(Succ(x133)))=False & Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))=Neg(Succ(x133)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) (6) (new_primEqInt(Neg(Zero))=False & Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))=Neg(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (7) (Pos(Succ(x132))=x134 & new_primEqInt(x134)=False & Succ(Succ(x26))=x135 & Succ(Succ(x27))=x136 & new_primModNatS01(x135, x136, x26, x27)=Succ(x132) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (8) (Pos(Zero)=x177 & new_primEqInt(x177)=False & Succ(Succ(x26))=x178 & Succ(Succ(x27))=x179 & new_primModNatS01(x178, x179, x26, x27)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) We solved constraint (5) using rules (I), (II).We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x134)=False which results in the following new constraints: (9) (False=False & Pos(Succ(x132))=Pos(Succ(x137)) & Succ(Succ(x26))=x135 & Succ(Succ(x27))=x136 & new_primModNatS01(x135, x136, x26, x27)=Succ(x132) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) (10) (False=False & Pos(Succ(x132))=Neg(Succ(x138)) & Succ(Succ(x26))=x135 & Succ(Succ(x27))=x136 & new_primModNatS01(x135, x136, x26, x27)=Succ(x132) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (11) (Succ(Succ(x26))=x135 & Succ(Succ(x27))=x136 & new_primModNatS01(x135, x136, x26, x27)=Succ(x132) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) We solved constraint (10) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x135, x136, x26, x27)=Succ(x132) which results in the following new constraints: (12) (new_primModNatS02(x140, x139)=Succ(x132) & Succ(Succ(Zero))=x140 & Succ(Succ(Zero))=x139 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (13) (new_primModNatS01(x144, x143, x142, x141)=Succ(x132) & Succ(Succ(Succ(x142)))=x144 & Succ(Succ(Succ(x141)))=x143 & (\/x145:new_primModNatS01(x144, x143, x142, x141)=Succ(x145) & Succ(Succ(x142))=x144 & Succ(Succ(x141))=x143 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x142))))), Neg(Succ(Succ(Succ(Succ(x141))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x142)), Succ(Succ(x141)), x142, x141))), Neg(Succ(Succ(Succ(Succ(x141))))), Pos(Succ(Succ(Succ(Succ(x142))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x142)))))), Neg(Succ(Succ(Succ(Succ(Succ(x141)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x142))), Succ(Succ(Succ(x141))), Succ(x142), Succ(x141)))), Neg(Succ(Succ(Succ(Succ(Succ(x141)))))), Pos(Succ(Succ(Succ(Succ(Succ(x142)))))))) (14) (new_primModNatS02(x148, x147)=Succ(x132) & Succ(Succ(Succ(x146)))=x148 & Succ(Succ(Zero))=x147 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x146)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x146))), Succ(Succ(Zero)), Succ(x146), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x146)))))))) (15) (Succ(Succ(x151))=Succ(x132) & Succ(Succ(Zero))=x151 & Succ(Succ(Succ(x149)))=x150 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x149)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x149))), Zero, Succ(x149)))), Neg(Succ(Succ(Succ(Succ(Succ(x149)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (12) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x140, x139)=Succ(x132) which results in the following new constraint: (16) (new_primModNatS1(new_primMinusNatS2(Succ(x153), Succ(x152)), Succ(x152))=Succ(x132) & Succ(Succ(Zero))=x153 & Succ(Succ(Zero))=x152 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rule (IV) which results in the following new constraint: (17) (new_primModNatS01(x144, x143, x142, x141)=Succ(x132) & Succ(Succ(Succ(x142)))=x144 & Succ(Succ(Succ(x141)))=x143 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x142)))))), Neg(Succ(Succ(Succ(Succ(Succ(x141)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x142))), Succ(Succ(Succ(x141))), Succ(x142), Succ(x141)))), Neg(Succ(Succ(Succ(Succ(Succ(x141)))))), Pos(Succ(Succ(Succ(Succ(Succ(x142)))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x148, x147)=Succ(x132) which results in the following new constraint: (18) (new_primModNatS1(new_primMinusNatS2(Succ(x172), Succ(x171)), Succ(x171))=Succ(x132) & Succ(Succ(Succ(x146)))=x172 & Succ(Succ(Zero))=x171 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x146)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x146))), Succ(Succ(Zero)), Succ(x146), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x146)))))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x149)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x149))), Zero, Succ(x149)))), Neg(Succ(Succ(Succ(Succ(Succ(x149)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (17) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x144, x143, x142, x141)=Succ(x132) which results in the following new constraints: (21) (new_primModNatS02(x159, x158)=Succ(x132) & Succ(Succ(Succ(Zero)))=x159 & Succ(Succ(Succ(Zero)))=x158 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (22) (new_primModNatS01(x163, x162, x161, x160)=Succ(x132) & Succ(Succ(Succ(Succ(x161))))=x163 & Succ(Succ(Succ(Succ(x160))))=x162 & (\/x164:new_primModNatS01(x163, x162, x161, x160)=Succ(x164) & Succ(Succ(Succ(x161)))=x163 & Succ(Succ(Succ(x160)))=x162 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x161)))))), Neg(Succ(Succ(Succ(Succ(Succ(x160)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x161))), Succ(Succ(Succ(x160))), Succ(x161), Succ(x160)))), Neg(Succ(Succ(Succ(Succ(Succ(x160)))))), Pos(Succ(Succ(Succ(Succ(Succ(x161)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x161))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x160))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x161)))), Succ(Succ(Succ(Succ(x160)))), Succ(Succ(x161)), Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x160))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x161))))))))) (23) (new_primModNatS02(x167, x166)=Succ(x132) & Succ(Succ(Succ(Succ(x165))))=x167 & Succ(Succ(Succ(Zero)))=x166 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x165))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x165)))), Succ(Succ(Succ(Zero))), Succ(Succ(x165)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x165))))))))) (24) (Succ(Succ(x170))=Succ(x132) & Succ(Succ(Succ(Zero)))=x170 & Succ(Succ(Succ(Succ(x168))))=x169 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x168))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x168)))), Succ(Zero), Succ(Succ(x168))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x168))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (21) using rules (III), (IV) which results in the following new constraint: (25) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (22) using rules (III), (IV) which results in the following new constraint: (26) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x161))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x160))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x161)))), Succ(Succ(Succ(Succ(x160)))), Succ(Succ(x161)), Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x160))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x161))))))))) We simplified constraint (23) using rules (III), (IV) which results in the following new constraint: (27) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x165))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x165)))), Succ(Succ(Succ(Zero))), Succ(Succ(x165)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x165))))))))) We simplified constraint (24) using rules (I), (II), (IV) which results in the following new constraint: (28) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x168))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x168)))), Succ(Zero), Succ(Succ(x168))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x168))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (29) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x146)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x146))), Succ(Succ(Zero)), Succ(x146), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x146)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x177)=False which results in the following new constraints: (30) (False=False & Pos(Zero)=Pos(Succ(x180)) & Succ(Succ(x26))=x178 & Succ(Succ(x27))=x179 & new_primModNatS01(x178, x179, x26, x27)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) (31) (False=False & Pos(Zero)=Neg(Succ(x181)) & Succ(Succ(x26))=x178 & Succ(Succ(x27))=x179 & new_primModNatS01(x178, x179, x26, x27)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x26)), Succ(Succ(x27)), x26, x27))), Neg(Succ(Succ(Succ(Succ(x27))))), Pos(Succ(Succ(Succ(Succ(x26))))))) We solved constraint (30) using rules (I), (II).We solved constraint (31) using rules (I), (II). For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(new_primModNatS01(Succ(Succ(x31)), Succ(Succ(x30)), x31, x30))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x32))))), Pos(Succ(Succ(Succ(Succ(x33)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x32)), Succ(Succ(x33)), x32, x33))), Pos(Succ(Succ(Succ(Succ(x33))))), Neg(Succ(Succ(Succ(Succ(x32)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(new_primModNatS01(Succ(Succ(x31)), Succ(Succ(x30)), x31, x30)))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x32))))), Pos(Succ(Succ(Succ(Succ(x33)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(new_primModNatS01(Succ(Succ(x31)), Succ(Succ(x30)), x31, x30)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x31))=x182 & Succ(Succ(x30))=x183 & new_primModNatS01(x182, x183, x31, x30)=Succ(Succ(Succ(Succ(x33)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(new_primModNatS01(Succ(Succ(x31)), Succ(Succ(x30)), x31, x30)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x182, x183, x31, x30)=Succ(Succ(Succ(Succ(x33)))) which results in the following new constraints: (3) (new_primModNatS02(x185, x184)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Zero))=x185 & Succ(Succ(Zero))=x184 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x189, x188, x187, x186)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(x187)))=x189 & Succ(Succ(Succ(x186)))=x188 & (\/x190:new_primModNatS01(x189, x188, x187, x186)=Succ(Succ(Succ(Succ(x190)))) & Succ(Succ(x187))=x189 & Succ(Succ(x186))=x188 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x186))))), Pos(Succ(Succ(Succ(Succ(x187))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x186))))), Pos(new_primModNatS01(Succ(Succ(x187)), Succ(Succ(x186)), x187, x186)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x186)))))), Pos(Succ(Succ(Succ(Succ(Succ(x187)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x186)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x187))), Succ(Succ(Succ(x186))), Succ(x187), Succ(x186))))) (5) (new_primModNatS02(x193, x192)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(x191)))=x193 & Succ(Succ(Zero))=x192 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x191)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x191))), Succ(Succ(Zero)), Succ(x191), Zero)))) (6) (Succ(Succ(x196))=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Zero))=x196 & Succ(Succ(Succ(x194)))=x195 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x194)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x194)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x194))), Zero, Succ(x194))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x185, x184)=Succ(Succ(Succ(Succ(x33)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x198), Succ(x197)), Succ(x197))=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Zero))=x198 & Succ(Succ(Zero))=x197 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x189, x188, x187, x186)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(x187)))=x189 & Succ(Succ(Succ(x186)))=x188 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x186)))))), Pos(Succ(Succ(Succ(Succ(Succ(x187)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x186)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x187))), Succ(Succ(Succ(x186))), Succ(x187), Succ(x186))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x193, x192)=Succ(Succ(Succ(Succ(x33)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x217), Succ(x216)), Succ(x216))=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(x191)))=x217 & Succ(Succ(Zero))=x216 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x191)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x191))), Succ(Succ(Zero)), Succ(x191), Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x194)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x194)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x194))), Zero, Succ(x194))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x189, x188, x187, x186)=Succ(Succ(Succ(Succ(x33)))) which results in the following new constraints: (12) (new_primModNatS02(x204, x203)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(Zero)))=x204 & Succ(Succ(Succ(Zero)))=x203 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x208, x207, x206, x205)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(Succ(x206))))=x208 & Succ(Succ(Succ(Succ(x205))))=x207 & (\/x209:new_primModNatS01(x208, x207, x206, x205)=Succ(Succ(Succ(Succ(x209)))) & Succ(Succ(Succ(x206)))=x208 & Succ(Succ(Succ(x205)))=x207 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x205)))))), Pos(Succ(Succ(Succ(Succ(Succ(x206)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x205)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x206))), Succ(Succ(Succ(x205))), Succ(x206), Succ(x205))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x205))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x206))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x205))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x206)))), Succ(Succ(Succ(Succ(x205)))), Succ(Succ(x206)), Succ(Succ(x205)))))) (14) (new_primModNatS02(x212, x211)=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(Succ(x210))))=x212 & Succ(Succ(Succ(Zero)))=x211 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x210))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x210)))), Succ(Succ(Succ(Zero))), Succ(Succ(x210)), Succ(Zero))))) (15) (Succ(Succ(x215))=Succ(Succ(Succ(Succ(x33)))) & Succ(Succ(Succ(Zero)))=x215 & Succ(Succ(Succ(Succ(x213))))=x214 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x213))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x213))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x213)))), Succ(Zero), Succ(Succ(x213)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x205))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x206))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x205))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x206)))), Succ(Succ(Succ(Succ(x205)))), Succ(Succ(x206)), Succ(Succ(x205)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x210))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x210)))), Succ(Succ(Succ(Zero))), Succ(Succ(x210)), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x213))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x213))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x213)))), Succ(Zero), Succ(Succ(x213)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x191)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x191))), Succ(Succ(Zero)), Succ(x191), Zero)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x77)))), Succ(Zero), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x58))), Zero, Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x70))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x70)))), Succ(Succ(Succ(Succ(x69)))), Succ(Succ(x70)), Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x69))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x70))))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x74))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x74)))), Succ(Succ(Succ(Zero))), Succ(Succ(x74)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x74))))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x55))), Succ(Succ(Zero)), Succ(x55), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x122))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x122)))), Succ(Zero), Succ(Succ(x122)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x103)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x103)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x103))), Zero, Succ(x103))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x115))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x115)))), Succ(Succ(Succ(Succ(x114)))), Succ(Succ(x115)), Succ(Succ(x114)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x119))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x119)))), Succ(Succ(Succ(Zero))), Succ(Succ(x119)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x100)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x100))), Succ(Succ(Zero)), Succ(x100), Zero)))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x168))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x168)))), Succ(Zero), Succ(Succ(x168))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x168))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x149)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x149))), Zero, Succ(x149)))), Neg(Succ(Succ(Succ(Succ(Succ(x149)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x161))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x160))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x161)))), Succ(Succ(Succ(Succ(x160)))), Succ(Succ(x161)), Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x160))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x161))))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x165))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x165)))), Succ(Succ(Succ(Zero))), Succ(Succ(x165)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x165))))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x146)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x146))), Succ(Succ(Zero)), Succ(x146), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x146)))))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x213))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x213))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x213)))), Succ(Zero), Succ(Succ(x213)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x194)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x194)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x194))), Zero, Succ(x194))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x205))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x206))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x205))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x206)))), Succ(Succ(Succ(Succ(x205)))), Succ(Succ(x206)), Succ(Succ(x205)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x210))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x210)))), Succ(Succ(Succ(Zero))), Succ(Succ(x210)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x191)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x191))), Succ(Succ(Zero)), Succ(x191), 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. ---------------------------------------- (364) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (365) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (366) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (367) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (368) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_rem(Pos(x0), Pos(Succ(x1))) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_error new_rem(Neg(x0), Neg(Succ(x1))) new_rem(Pos(x0), Pos(Zero)) new_rem(Neg(x0), Neg(Zero)) ---------------------------------------- (369) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (370) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) (new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero))) ---------------------------------------- (371) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (372) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (373) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (374) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (375) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (376) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (377) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (378) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (379) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (380) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)))) (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero))) ---------------------------------------- (381) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (382) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (383) Complex Obligation (AND) ---------------------------------------- (384) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (385) 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. ---------------------------------------- (386) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (387) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) ---------------------------------------- (388) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (389) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) ---------------------------------------- (390) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (391) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (392) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (393) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (394) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (395) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) ---------------------------------------- (396) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (397) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (398) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (399) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (400) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (401) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (402) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (403) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) ---------------------------------------- (404) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (405) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (406) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (407) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (408) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (409) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) ---------------------------------------- (410) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (411) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (412) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (413) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (414) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (415) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (416) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (417) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (418) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (419) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (420) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (421) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (422) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (423) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) ---------------------------------------- (424) YES ---------------------------------------- (425) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (426) 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. ---------------------------------------- (427) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (428) 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_primMinusNatS1 new_primMinusNatS0(x0) ---------------------------------------- (429) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (430) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (431) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (432) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (433) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (434) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (435) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (436) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (437) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (438) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (439) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (440) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (441) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (442) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (443) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (444) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (445) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (446) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (447) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (448) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (449) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (450) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (451) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (452) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (453) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (454) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (455) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (456) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (457) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (458) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (459) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (460) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (461) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (462) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (463) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (464) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (465) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (466) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (467) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (468) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (469) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (470) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (471) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (472) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (473) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (474) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (475) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (476) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (477) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (478) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (479) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (480) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (481) Complex Obligation (AND) ---------------------------------------- (482) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (483) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (484) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (485) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (486) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (487) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (488) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (489) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (490) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (491) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (492) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (493) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (494) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (495) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) ---------------------------------------- (496) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (497) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (498) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (499) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 1 POL(Pos(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 1 POL(Zero) = 0 POL(new_esEs(x_1)) = 1 POL(new_gcd0Gcd'0(x_1, x_2)) = 2 + x_1 + x_2 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2*x_1 + x_2 + x_3 POL(new_primEqInt(x_1)) = 1 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True ---------------------------------------- (500) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (501) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (502) TRUE ---------------------------------------- (503) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (504) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (505) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (506) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (507) Complex Obligation (AND) ---------------------------------------- (508) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (509) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (510) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (511) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (512) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (513) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (514) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (515) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (516) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (517) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_esEs(Neg(Succ(x0))) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_esEs(Neg(Zero)) ---------------------------------------- (518) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) We have to consider all (P,Q,R)-chains. ---------------------------------------- (519) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraints: (3) (new_primEqInt(Pos(Succ(x21)))=False & Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Pos(Succ(x21)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) (4) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Pos(Succ(x21))=x22 & new_primEqInt(x22)=False & Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Pos(Zero)=x47 & new_primEqInt(x47)=False & Succ(x8)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x22)=False which results in the following new constraint: (7) (False=False & Pos(Succ(x21))=Pos(Succ(x25)) & Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (8) (Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x23, x24)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS01(x27, x26, x27, x26)=Succ(x21) & Succ(x8)=Succ(Succ(x27)) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) (10) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x28) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x27=x30 & x26=x31 & new_primModNatS01(x27, x26, x30, x31)=Succ(x21) & Succ(Zero)=x26 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x27)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x27)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x27)))))))) We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x27, x26, x30, x31)=Succ(x21) which results in the following new constraints: (13) (new_primModNatS02(x33, x32)=Succ(x21) & x33=Zero & x32=Zero & Succ(Zero)=x32 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x33)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x33)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x33)))))))) (14) (new_primModNatS01(x37, x36, x35, x34)=Succ(x21) & x37=Succ(x35) & x36=Succ(x34) & Succ(Zero)=x36 & (\/x38:new_primModNatS01(x37, x36, x35, x34)=Succ(x38) & x37=x35 & x36=x34 & Succ(Zero)=x36 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x37)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x37)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x37)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x37)))))))) (15) (new_primModNatS02(x41, x40)=Succ(x21) & x41=Succ(x39) & x40=Zero & Succ(Zero)=x40 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x41)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x41)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x41)))))))) (16) (Succ(Succ(x44))=Succ(x21) & x44=Zero & x43=Succ(x42) & Succ(Zero)=x43 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x44)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x44)))))))) We solved constraint (13) using rules (I), (II), (III).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))) We solved constraint (15) using rules (I), (II), (III).We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x47)=False which results in the following new constraint: (19) (False=False & Pos(Zero)=Pos(Succ(x50)) & Succ(x8)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We solved constraint (19) using rules (I), (II). For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x18))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x17)=x51 & Succ(Succ(Zero))=x52 & new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (3) (new_primModNatS01(x54, x53, x54, x53)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x54)) & Succ(Succ(Zero))=Succ(x53) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x55) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x54=x57 & x53=x58 & new_primModNatS01(x54, x53, x57, x58)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x54, x53, x57, x58)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (6) (new_primModNatS02(x60, x59)=Succ(Succ(Succ(Succ(x18)))) & x60=Zero & x59=Zero & Succ(Zero)=x59 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x60)), Succ(Succ(Zero)))))) (7) (new_primModNatS01(x64, x63, x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x64=Succ(x62) & x63=Succ(x61) & Succ(Zero)=x63 & (\/x65:new_primModNatS01(x64, x63, x62, x61)=Succ(Succ(Succ(Succ(x65)))) & x64=x62 & x63=x61 & Succ(Zero)=x63 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) (8) (new_primModNatS02(x68, x67)=Succ(Succ(Succ(Succ(x18)))) & x68=Succ(x66) & x67=Zero & Succ(Zero)=x67 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x68)), Succ(Succ(Zero)))))) (9) (Succ(Succ(x71))=Succ(Succ(Succ(Succ(x18)))) & x71=Zero & x70=Succ(x69) & Succ(Zero)=x70 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x71)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x71)), Succ(Succ(Zero)))))) We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (520) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (521) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (522) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_esEs(Neg(Succ(x0))) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_esEs(Neg(Zero)) ---------------------------------------- (523) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Pos(Succ(x0))) We have to consider all (P,Q,R)-chains. ---------------------------------------- (524) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Pos(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(new_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs(x52)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x52)=False which results in the following new constraints: (3) (new_primEqInt(Pos(Succ(x53)))=False & Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Succ(x53)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) (4) (new_primEqInt(Pos(Zero))=False & Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Zero) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Pos(Succ(x53))=x54 & new_primEqInt(x54)=False & Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS01(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Pos(Zero)=x96 & new_primEqInt(x96)=False & Succ(Succ(x6))=x97 & Succ(Succ(x7))=x98 & new_primModNatS01(x97, x98, x6, x7)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x54)=False which results in the following new constraint: (7) (False=False & Pos(Succ(x53))=Pos(Succ(x57)) & Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS01(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (8) (Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS01(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x55, x56, x6, x7)=Succ(x53) which results in the following new constraints: (9) (new_primModNatS02(x59, x58)=Succ(x53) & Succ(Succ(Zero))=x59 & Succ(Succ(Zero))=x58 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (10) (new_primModNatS01(x63, x62, x61, x60)=Succ(x53) & Succ(Succ(Succ(x61)))=x63 & Succ(Succ(Succ(x60)))=x62 & (\/x64:new_primModNatS01(x63, x62, x61, x60)=Succ(x64) & Succ(Succ(x61))=x63 & Succ(Succ(x60))=x62 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x61)), Succ(Succ(x60)), x61, x60))), Pos(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Succ(Succ(x61))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x61)))))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x61))), Succ(Succ(Succ(x60))), Succ(x61), Succ(x60)))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Pos(Succ(Succ(Succ(Succ(Succ(x61)))))))) (11) (new_primModNatS02(x67, x66)=Succ(x53) & Succ(Succ(Succ(x65)))=x67 & Succ(Succ(Zero))=x66 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x65)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))) (12) (Succ(Succ(x70))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Succ(x68)))=x69 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68)))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x59, x58)=Succ(x53) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x72), Succ(x71)), Succ(x71))=Succ(x53) & Succ(Succ(Zero))=x72 & Succ(Succ(Zero))=x71 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rule (IV) which results in the following new constraint: (14) (new_primModNatS01(x63, x62, x61, x60)=Succ(x53) & Succ(Succ(Succ(x61)))=x63 & Succ(Succ(Succ(x60)))=x62 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x61)))))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x61))), Succ(Succ(Succ(x60))), Succ(x61), Succ(x60)))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Pos(Succ(Succ(Succ(Succ(Succ(x61)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x67, x66)=Succ(x53) which results in the following new constraint: (15) (new_primModNatS1(new_primMinusNatS2(Succ(x91), Succ(x90)), Succ(x90))=Succ(x53) & Succ(Succ(Succ(x65)))=x91 & Succ(Succ(Zero))=x90 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x65)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))) We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68)))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x63, x62, x61, x60)=Succ(x53) which results in the following new constraints: (18) (new_primModNatS02(x78, x77)=Succ(x53) & Succ(Succ(Succ(Zero)))=x78 & Succ(Succ(Succ(Zero)))=x77 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (19) (new_primModNatS01(x82, x81, x80, x79)=Succ(x53) & Succ(Succ(Succ(Succ(x80))))=x82 & Succ(Succ(Succ(Succ(x79))))=x81 & (\/x83:new_primModNatS01(x82, x81, x80, x79)=Succ(x83) & Succ(Succ(Succ(x80)))=x82 & Succ(Succ(Succ(x79)))=x81 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x80)))))), Pos(Succ(Succ(Succ(Succ(Succ(x79)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x80))), Succ(Succ(Succ(x79))), Succ(x80), Succ(x79)))), Pos(Succ(Succ(Succ(Succ(Succ(x79)))))), Pos(Succ(Succ(Succ(Succ(Succ(x80)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) (20) (new_primModNatS02(x86, x85)=Succ(x53) & Succ(Succ(Succ(Succ(x84))))=x86 & Succ(Succ(Succ(Zero)))=x85 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x84)))), Succ(Succ(Succ(Zero))), Succ(Succ(x84)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))) (21) (Succ(Succ(x89))=Succ(x53) & Succ(Succ(Succ(Zero)))=x89 & Succ(Succ(Succ(Succ(x87))))=x88 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (III), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (19) using rules (III), (IV) which results in the following new constraint: (23) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) We simplified constraint (20) using rules (III), (IV) which results in the following new constraint: (24) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x84)))), Succ(Succ(Succ(Zero))), Succ(Succ(x84)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))) We simplified constraint (21) using rules (I), (II), (IV) which results in the following new constraint: (25) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: (26) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x65)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x96)=False which results in the following new constraint: (27) (False=False & Pos(Zero)=Pos(Succ(x99)) & Succ(Succ(x6))=x97 & Succ(Succ(x7))=x98 & new_primModNatS01(x97, x98, x6, x7)=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We solved constraint (27) using rules (I), (II). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68)))), Pos(Succ(Succ(Succ(Succ(Succ(x68)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x84)))), Succ(Succ(Succ(Zero))), Succ(Succ(x84)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x65)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))) 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. ---------------------------------------- (525) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (526) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primEqInt(Neg(Zero)) -> True new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_error -> error([]) new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (527) 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. ---------------------------------------- (528) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_rem(Neg(x0), Neg(Succ(x1))) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (529) 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(Pos(x0), Pos(Succ(x1))) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_error new_rem(Neg(x0), Neg(Succ(x1))) new_rem(Pos(x0), Pos(Zero)) new_rem(Neg(x0), Neg(Zero)) ---------------------------------------- (530) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (531) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) (new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero))) ---------------------------------------- (532) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(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_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (535) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (536) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (537) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (538) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (539) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (540) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (541) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)))) (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero))) ---------------------------------------- (542) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (543) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (544) Complex Obligation (AND) ---------------------------------------- (545) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (546) 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. ---------------------------------------- (547) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (548) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Zero) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) ---------------------------------------- (549) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (550) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) ---------------------------------------- (551) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (552) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (553) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (554) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (555) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (556) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) ---------------------------------------- (557) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (558) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (559) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (560) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (561) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (562) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (563) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (564) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (565) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (566) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (567) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (568) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (569) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (570) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) ---------------------------------------- (571) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (572) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (573) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (574) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (575) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (576) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (577) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (578) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (579) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (580) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (581) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (582) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (583) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS1 -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primEqInt(Pos(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (584) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) ---------------------------------------- (585) YES ---------------------------------------- (586) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS1(Zero, vyv29100) -> Zero new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (587) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (588) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primMinusNatS0(x0) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (589) 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_primMinusNatS1 new_primMinusNatS0(x0) ---------------------------------------- (590) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (591) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (592) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (593) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (594) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (595) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (596) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (597) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (598) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (599) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (600) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (601) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (602) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (603) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (604) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (605) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (606) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (607) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (608) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (609) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (610) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (611) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (612) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (613) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (614) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (615) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (616) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (617) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (618) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (619) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (620) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (621) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (622) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (623) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (624) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (625) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (626) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (627) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (628) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (629) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (630) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (631) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (632) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (633) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (634) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (635) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (636) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (637) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (638) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (639) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (640) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (641) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (642) Complex Obligation (AND) ---------------------------------------- (643) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (644) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (645) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (646) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (647) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (648) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (649) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (650) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (651) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (652) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (653) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (654) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_primEqInt(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (655) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (656) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) ---------------------------------------- (657) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (658) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (659) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (660) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 1 POL(Zero) = 0 POL(new_esEs(x_1)) = 1 POL(new_gcd0Gcd'0(x_1, x_2)) = 2 + x_1 + x_2 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2*x_1 + x_2 + x_3 POL(new_primEqInt(x_1)) = 1 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True ---------------------------------------- (661) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (662) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (663) TRUE ---------------------------------------- (664) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (665) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (666) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (667) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (668) Complex Obligation (AND) ---------------------------------------- (669) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (670) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (671) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (672) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (673) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (674) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (675) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (676) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (677) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (678) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_primEqInt(Pos(Zero)) new_esEs(Pos(Zero)) new_primEqInt(Pos(Succ(x0))) new_esEs(Pos(Succ(x0))) ---------------------------------------- (679) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) We have to consider all (P,Q,R)-chains. ---------------------------------------- (680) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraints: (3) (new_primEqInt(Neg(Succ(x21)))=False & Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) (4) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Neg(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Neg(Succ(x21))=x22 & new_primEqInt(x22)=False & Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Neg(Zero)=x47 & new_primEqInt(x47)=False & Succ(x8)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x22)=False which results in the following new constraint: (7) (False=False & Neg(Succ(x21))=Neg(Succ(x25)) & Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (8) (Succ(x8)=x23 & Succ(Succ(Zero))=x24 & new_primModNatS1(x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x23, x24)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS01(x27, x26, x27, x26)=Succ(x21) & Succ(x8)=Succ(Succ(x27)) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) (10) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x28) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x27=x30 & x26=x31 & new_primModNatS01(x27, x26, x30, x31)=Succ(x21) & Succ(Zero)=x26 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x27)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x27)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x27)))))))) We simplified constraint (10) using rules (I), (II), (III), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x27, x26, x30, x31)=Succ(x21) which results in the following new constraints: (13) (new_primModNatS02(x33, x32)=Succ(x21) & x33=Zero & x32=Zero & Succ(Zero)=x32 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x33)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x33)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x33)))))))) (14) (new_primModNatS01(x37, x36, x35, x34)=Succ(x21) & x37=Succ(x35) & x36=Succ(x34) & Succ(Zero)=x36 & (\/x38:new_primModNatS01(x37, x36, x35, x34)=Succ(x38) & x37=x35 & x36=x34 & Succ(Zero)=x36 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x37)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x37)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x37)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x37)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x37)))))))) (15) (new_primModNatS02(x41, x40)=Succ(x21) & x41=Succ(x39) & x40=Zero & Succ(Zero)=x40 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x41)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x41)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x41)))))))) (16) (Succ(Succ(x44))=Succ(x21) & x44=Zero & x43=Succ(x42) & Succ(Zero)=x43 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x44)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x44)))))))) We solved constraint (13) using rules (I), (II), (III).We simplified constraint (14) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))) We solved constraint (15) using rules (I), (II), (III).We simplified constraint (16) using rules (I), (II), (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x47)=False which results in the following new constraint: (19) (False=False & Neg(Zero)=Neg(Succ(x50)) & Succ(x8)=x48 & Succ(Succ(Zero))=x49 & new_primModNatS1(x48, x49)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We solved constraint (19) using rules (I), (II). For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x18))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x17)=x51 & Succ(Succ(Zero))=x52 & new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (3) (new_primModNatS01(x54, x53, x54, x53)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x54)) & Succ(Succ(Zero))=Succ(x53) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x55) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x54=x57 & x53=x58 & new_primModNatS01(x54, x53, x57, x58)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x54, x53, x57, x58)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (6) (new_primModNatS02(x60, x59)=Succ(Succ(Succ(Succ(x18)))) & x60=Zero & x59=Zero & Succ(Zero)=x59 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x60)), Succ(Succ(Zero)))))) (7) (new_primModNatS01(x64, x63, x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x64=Succ(x62) & x63=Succ(x61) & Succ(Zero)=x63 & (\/x65:new_primModNatS01(x64, x63, x62, x61)=Succ(Succ(Succ(Succ(x65)))) & x64=x62 & x63=x61 & Succ(Zero)=x63 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x64)), Succ(Succ(Zero)))))) (8) (new_primModNatS02(x68, x67)=Succ(Succ(Succ(Succ(x18)))) & x68=Succ(x66) & x67=Zero & Succ(Zero)=x67 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x68)), Succ(Succ(Zero)))))) (9) (Succ(Succ(x71))=Succ(Succ(Succ(Succ(x18)))) & x71=Zero & x70=Succ(x69) & Succ(Zero)=x70 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x71)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x71)), Succ(Succ(Zero)))))) We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x35))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x62))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x62))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (681) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (682) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (683) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_primEqInt(Pos(Zero)) new_esEs(Pos(Zero)) new_primEqInt(Pos(Succ(x0))) new_esEs(Pos(Succ(x0))) ---------------------------------------- (684) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) We have to consider all (P,Q,R)-chains. ---------------------------------------- (685) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Neg(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Neg(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(new_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs(x52)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x52)=False which results in the following new constraints: (3) (new_primEqInt(Neg(Succ(x53)))=False & Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Succ(x53)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) (4) (new_primEqInt(Neg(Zero))=False & Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Zero) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Neg(Succ(x53))=x54 & new_primEqInt(x54)=False & Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS01(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (6) (Neg(Zero)=x96 & new_primEqInt(x96)=False & Succ(Succ(x6))=x97 & Succ(Succ(x7))=x98 & new_primModNatS01(x97, x98, x6, x7)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x54)=False which results in the following new constraint: (7) (False=False & Neg(Succ(x53))=Neg(Succ(x57)) & Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS01(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: (8) (Succ(Succ(x6))=x55 & Succ(Succ(x7))=x56 & new_primModNatS01(x55, x56, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x55, x56, x6, x7)=Succ(x53) which results in the following new constraints: (9) (new_primModNatS02(x59, x58)=Succ(x53) & Succ(Succ(Zero))=x59 & Succ(Succ(Zero))=x58 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (10) (new_primModNatS01(x63, x62, x61, x60)=Succ(x53) & Succ(Succ(Succ(x61)))=x63 & Succ(Succ(Succ(x60)))=x62 & (\/x64:new_primModNatS01(x63, x62, x61, x60)=Succ(x64) & Succ(Succ(x61))=x63 & Succ(Succ(x60))=x62 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x61))))), Neg(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x61)), Succ(Succ(x60)), x61, x60))), Neg(Succ(Succ(Succ(Succ(x60))))), Neg(Succ(Succ(Succ(Succ(x61))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x61)))))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x61))), Succ(Succ(Succ(x60))), Succ(x61), Succ(x60)))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))))) (11) (new_primModNatS02(x67, x66)=Succ(x53) & Succ(Succ(Succ(x65)))=x67 & Succ(Succ(Zero))=x66 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x65)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))) (12) (Succ(Succ(x70))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Succ(x68)))=x69 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68)))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x59, x58)=Succ(x53) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x72), Succ(x71)), Succ(x71))=Succ(x53) & Succ(Succ(Zero))=x72 & Succ(Succ(Zero))=x71 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rule (IV) which results in the following new constraint: (14) (new_primModNatS01(x63, x62, x61, x60)=Succ(x53) & Succ(Succ(Succ(x61)))=x63 & Succ(Succ(Succ(x60)))=x62 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x61)))))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x61))), Succ(Succ(Succ(x60))), Succ(x61), Succ(x60)))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))), Neg(Succ(Succ(Succ(Succ(Succ(x61)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x67, x66)=Succ(x53) which results in the following new constraint: (15) (new_primModNatS1(new_primMinusNatS2(Succ(x91), Succ(x90)), Succ(x90))=Succ(x53) & Succ(Succ(Succ(x65)))=x91 & Succ(Succ(Zero))=x90 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x65)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))) We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68)))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (17) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x63, x62, x61, x60)=Succ(x53) which results in the following new constraints: (18) (new_primModNatS02(x78, x77)=Succ(x53) & Succ(Succ(Succ(Zero)))=x78 & Succ(Succ(Succ(Zero)))=x77 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (19) (new_primModNatS01(x82, x81, x80, x79)=Succ(x53) & Succ(Succ(Succ(Succ(x80))))=x82 & Succ(Succ(Succ(Succ(x79))))=x81 & (\/x83:new_primModNatS01(x82, x81, x80, x79)=Succ(x83) & Succ(Succ(Succ(x80)))=x82 & Succ(Succ(Succ(x79)))=x81 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x80)))))), Neg(Succ(Succ(Succ(Succ(Succ(x79)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x80))), Succ(Succ(Succ(x79))), Succ(x80), Succ(x79)))), Neg(Succ(Succ(Succ(Succ(Succ(x79)))))), Neg(Succ(Succ(Succ(Succ(Succ(x80)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) (20) (new_primModNatS02(x86, x85)=Succ(x53) & Succ(Succ(Succ(Succ(x84))))=x86 & Succ(Succ(Succ(Zero)))=x85 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x84)))), Succ(Succ(Succ(Zero))), Succ(Succ(x84)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))) (21) (Succ(Succ(x89))=Succ(x53) & Succ(Succ(Succ(Zero)))=x89 & Succ(Succ(Succ(Succ(x87))))=x88 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (III), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (19) using rules (III), (IV) which results in the following new constraint: (23) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) We simplified constraint (20) using rules (III), (IV) which results in the following new constraint: (24) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x84)))), Succ(Succ(Succ(Zero))), Succ(Succ(x84)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))) We simplified constraint (21) using rules (I), (II), (IV) which results in the following new constraint: (25) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (III), (IV), (VII) which results in the following new constraint: (26) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x65)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primEqInt(x96)=False which results in the following new constraint: (27) (False=False & Neg(Zero)=Neg(Succ(x99)) & Succ(Succ(x6))=x97 & Succ(Succ(x7))=x98 & new_primModNatS01(x97, x98, x6, x7)=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We solved constraint (27) using rules (I), (II). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x87)))), Succ(Zero), Succ(Succ(x87))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x87))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x68))), Zero, Succ(x68)))), Neg(Succ(Succ(Succ(Succ(Succ(x68)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x80)))), Succ(Succ(Succ(Succ(x79)))), Succ(Succ(x80)), Succ(Succ(x79))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x80))))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x84)))), Succ(Succ(Succ(Zero))), Succ(Succ(x84)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x84))))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x65)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x65))), Succ(Succ(Zero)), Succ(x65), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))) 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. ---------------------------------------- (686) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_primEqInt(Neg(Zero)) -> True new_primEqInt(Neg(Succ(vyv242000))) -> False The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_primEqInt(Pos(Zero)) new_primModNatS02(x0, x1) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMinusNatS2(Zero, Zero) new_esEs(Neg(Succ(x0))) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Zero) new_primEqInt(Neg(Zero)) new_primModNatS01(x0, x1, Zero, Zero) new_primEqInt(Pos(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_esEs(Neg(Zero)) new_esEs(Pos(Succ(x0))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (687) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS0(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS0(vyv310, vyv311, Zero, Zero) -> new_primDivNatS00(vyv310, vyv311) new_primDivNatS(Succ(Succ(vyv270000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vyv270000), Zero) new_primDivNatS0(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS0(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS0(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311)) new_primDivNatS00(vyv310, vyv311) -> new_primDivNatS(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311)) new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS1, Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (688) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (689) Complex Obligation (AND) ---------------------------------------- (690) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vyv270000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vyv270000), Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (691) 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(vyv270000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vyv270000), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS2(Zero, Succ(vyv3110)) -> 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 ---------------------------------------- (692) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (693) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (694) YES ---------------------------------------- (695) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(vyv310, vyv311, Zero, Zero) -> new_primDivNatS00(vyv310, vyv311) new_primDivNatS00(vyv310, vyv311) -> new_primDivNatS(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311)) new_primDivNatS(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS0(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS0(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS0(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS0(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) The set Q consists of the following terms: new_primMinusNatS2(Succ(x0), Zero) new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS1 new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS2(Succ(x0), Succ(x1)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (696) 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(vyv310, vyv311) -> new_primDivNatS(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primDivNatS(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS0(vyv270000, vyv284000, vyv270000, vyv284000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primDivNatS0(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS0(vyv310, vyv311, vyv3120, vyv3130) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primDivNatS0(vyv310, vyv311, Zero, Zero) -> new_primDivNatS00(vyv310, vyv311) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 *new_primDivNatS0(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311)) (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(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) ---------------------------------------- (697) YES ---------------------------------------- (698) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F31(Succ(vyv4000), Succ(vyv5000), vyv3) -> new_pr2F31(vyv4000, vyv5000, vyv3) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (699) 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_pr2F31(Succ(vyv4000), Succ(vyv5000), vyv3) -> new_pr2F31(vyv4000, vyv5000, vyv3) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 ---------------------------------------- (700) YES ---------------------------------------- (701) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Succ(vyv23900), Succ(vyv23800)) -> new_primMulNat(vyv23900, Succ(vyv23800)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (702) 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(vyv23900), Succ(vyv23800)) -> new_primMulNat(vyv23900, Succ(vyv23800)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (703) YES ---------------------------------------- (704) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, new_fromInt0), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, new_fromInt, vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, new_fromInt0), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), new_fromInt0), bb) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr11(vyv239, vyv238) -> error([]) new_primPlusNat0(Zero, Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_abs(Neg(Zero)) -> Neg(Zero) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_sr8(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_primEqInt(Pos(Succ(vyv242000))) -> False new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_gcd1(True, vyv272, vyv271) -> new_error new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primMinusNatS1 -> Zero new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr10(vyv183) -> error([]) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_sr13(vyv239, vyv238) -> error([]) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_primMulNat4(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr9(vyv183) -> error([]) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMulNat0(Zero, Zero) -> Zero new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_primEqInt(Pos(Zero)) -> True new_primMulNat1(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_fromInt -> Pos(Succ(Zero)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_abs(Pos(Zero)) -> Pos(Zero) new_primMulNat2(Zero) -> Zero new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primMinusNatS2(Zero, Zero) -> Zero new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_primEqInt(Neg(Zero)) -> True new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primMulNat3(Zero) -> Zero new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_primModNatS1(Zero, vyv29100) -> Zero new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_error -> error([]) new_primEqInt(Neg(Succ(vyv242000))) -> False new_fromInt0 -> Pos(Succ(Succ(Zero))) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_fromInt new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (705) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, new_fromInt0), h) at position [2,1] we obtained the following new rules [LPAR04]: (new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h),new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h)) ---------------------------------------- (706) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, new_fromInt, vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, new_fromInt0), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), new_fromInt0), bb) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr11(vyv239, vyv238) -> error([]) new_primPlusNat0(Zero, Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_abs(Neg(Zero)) -> Neg(Zero) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_sr8(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_primEqInt(Pos(Succ(vyv242000))) -> False new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_gcd1(True, vyv272, vyv271) -> new_error new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primMinusNatS1 -> Zero new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr10(vyv183) -> error([]) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_sr13(vyv239, vyv238) -> error([]) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_primMulNat4(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr9(vyv183) -> error([]) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMulNat0(Zero, Zero) -> Zero new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_primEqInt(Pos(Zero)) -> True new_primMulNat1(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_fromInt -> Pos(Succ(Zero)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_abs(Pos(Zero)) -> Pos(Zero) new_primMulNat2(Zero) -> Zero new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primMinusNatS2(Zero, Zero) -> Zero new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_primEqInt(Neg(Zero)) -> True new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primMulNat3(Zero) -> Zero new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_primModNatS1(Zero, vyv29100) -> Zero new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_error -> error([]) new_primEqInt(Neg(Succ(vyv242000))) -> False new_fromInt0 -> Pos(Succ(Succ(Zero))) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_fromInt new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (707) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, new_fromInt, vyv238, bc) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc),new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc)) ---------------------------------------- (708) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, new_fromInt0), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), new_fromInt0), bb) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr11(vyv239, vyv238) -> error([]) new_primPlusNat0(Zero, Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_abs(Neg(Zero)) -> Neg(Zero) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_sr8(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_primEqInt(Pos(Succ(vyv242000))) -> False new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_gcd1(True, vyv272, vyv271) -> new_error new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primMinusNatS1 -> Zero new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr10(vyv183) -> error([]) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_sr13(vyv239, vyv238) -> error([]) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_primMulNat4(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr9(vyv183) -> error([]) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMulNat0(Zero, Zero) -> Zero new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_primEqInt(Pos(Zero)) -> True new_primMulNat1(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_fromInt -> Pos(Succ(Zero)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_abs(Pos(Zero)) -> Pos(Zero) new_primMulNat2(Zero) -> Zero new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primMinusNatS2(Zero, Zero) -> Zero new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_primEqInt(Neg(Zero)) -> True new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primMulNat3(Zero) -> Zero new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_primModNatS1(Zero, vyv29100) -> Zero new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_error -> error([]) new_primEqInt(Neg(Succ(vyv242000))) -> False new_fromInt0 -> Pos(Succ(Succ(Zero))) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_fromInt new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (709) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, new_fromInt0), h) at position [2,1] we obtained the following new rules [LPAR04]: (new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h),new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h)) ---------------------------------------- (710) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), new_fromInt0), bb) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr11(vyv239, vyv238) -> error([]) new_primPlusNat0(Zero, Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_abs(Neg(Zero)) -> Neg(Zero) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_sr8(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_primEqInt(Pos(Succ(vyv242000))) -> False new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_gcd1(True, vyv272, vyv271) -> new_error new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primMinusNatS1 -> Zero new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr10(vyv183) -> error([]) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_sr13(vyv239, vyv238) -> error([]) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_primMulNat4(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr9(vyv183) -> error([]) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMulNat0(Zero, Zero) -> Zero new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_primEqInt(Pos(Zero)) -> True new_primMulNat1(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_fromInt -> Pos(Succ(Zero)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_abs(Pos(Zero)) -> Pos(Zero) new_primMulNat2(Zero) -> Zero new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primMinusNatS2(Zero, Zero) -> Zero new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_primEqInt(Neg(Zero)) -> True new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primMulNat3(Zero) -> Zero new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_primModNatS1(Zero, vyv29100) -> Zero new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_error -> error([]) new_primEqInt(Neg(Succ(vyv242000))) -> False new_fromInt0 -> Pos(Succ(Succ(Zero))) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_fromInt new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (711) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), new_fromInt0), bb) at position [2,1] we obtained the following new rules [LPAR04]: (new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb),new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb)) ---------------------------------------- (712) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr11(vyv239, vyv238) -> error([]) new_primPlusNat0(Zero, Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_abs(Neg(Zero)) -> Neg(Zero) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_sr8(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_primEqInt(Pos(Succ(vyv242000))) -> False new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_gcd1(True, vyv272, vyv271) -> new_error new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primMinusNatS1 -> Zero new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr10(vyv183) -> error([]) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_sr13(vyv239, vyv238) -> error([]) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_primMulNat4(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr9(vyv183) -> error([]) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMulNat0(Zero, Zero) -> Zero new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_primEqInt(Pos(Zero)) -> True new_primMulNat1(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_fromInt -> Pos(Succ(Zero)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_abs(Pos(Zero)) -> Pos(Zero) new_primMulNat2(Zero) -> Zero new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primMinusNatS2(Zero, Zero) -> Zero new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_primEqInt(Neg(Zero)) -> True new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primMulNat3(Zero) -> Zero new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_primModNatS1(Zero, vyv29100) -> Zero new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_error -> error([]) new_primEqInt(Neg(Succ(vyv242000))) -> False new_fromInt0 -> Pos(Succ(Succ(Zero))) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_fromInt new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (713) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h),new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h)) ---------------------------------------- (714) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr11(vyv239, vyv238) -> error([]) new_primPlusNat0(Zero, Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_abs(Neg(Zero)) -> Neg(Zero) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_sr8(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_primEqInt(Pos(Succ(vyv242000))) -> False new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_gcd1(True, vyv272, vyv271) -> new_error new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primMinusNatS1 -> Zero new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr10(vyv183) -> error([]) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_sr13(vyv239, vyv238) -> error([]) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_primMulNat4(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr9(vyv183) -> error([]) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMulNat0(Zero, Zero) -> Zero new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_primEqInt(Pos(Zero)) -> True new_primMulNat1(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_fromInt -> Pos(Succ(Zero)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_abs(Pos(Zero)) -> Pos(Zero) new_primMulNat2(Zero) -> Zero new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primMinusNatS2(Zero, Zero) -> Zero new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_primEqInt(Neg(Zero)) -> True new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primMulNat3(Zero) -> Zero new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_primModNatS1(Zero, vyv29100) -> Zero new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_error -> error([]) new_primEqInt(Neg(Succ(vyv242000))) -> False new_fromInt0 -> Pos(Succ(Succ(Zero))) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_fromInt new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (715) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, new_fromInt, vyv226, ba) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba),new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba)) ---------------------------------------- (716) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr11(vyv239, vyv238) -> error([]) new_primPlusNat0(Zero, Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_abs(Neg(Zero)) -> Neg(Zero) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_sr8(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_primEqInt(Pos(Succ(vyv242000))) -> False new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_gcd1(True, vyv272, vyv271) -> new_error new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primMinusNatS1 -> Zero new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr10(vyv183) -> error([]) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_sr13(vyv239, vyv238) -> error([]) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_primMulNat4(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr9(vyv183) -> error([]) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMulNat0(Zero, Zero) -> Zero new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_primEqInt(Pos(Zero)) -> True new_primMulNat1(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_fromInt -> Pos(Succ(Zero)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_abs(Pos(Zero)) -> Pos(Zero) new_primMulNat2(Zero) -> Zero new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primMinusNatS2(Zero, Zero) -> Zero new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_primEqInt(Neg(Zero)) -> True new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primMulNat3(Zero) -> Zero new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_primModNatS1(Zero, vyv29100) -> Zero new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_error -> error([]) new_primEqInt(Neg(Succ(vyv242000))) -> False new_fromInt0 -> Pos(Succ(Succ(Zero))) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_fromInt new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (717) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, new_fromInt, vyv187, h) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h),new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h)) ---------------------------------------- (718) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr11(vyv239, vyv238) -> error([]) new_primPlusNat0(Zero, Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_abs(Neg(Zero)) -> Neg(Zero) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_sr8(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_primEqInt(Pos(Succ(vyv242000))) -> False new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_gcd1(True, vyv272, vyv271) -> new_error new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primMinusNatS1 -> Zero new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr10(vyv183) -> error([]) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_sr13(vyv239, vyv238) -> error([]) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_primMulNat4(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_sr9(vyv183) -> error([]) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primMulNat0(Zero, Zero) -> Zero new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_primEqInt(Pos(Zero)) -> True new_primMulNat1(Zero) -> Zero new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_fromInt -> Pos(Succ(Zero)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_abs(Pos(Zero)) -> Pos(Zero) new_primMulNat2(Zero) -> Zero new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primMinusNatS2(Zero, Zero) -> Zero new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_primEqInt(Neg(Zero)) -> True new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primMulNat3(Zero) -> Zero new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_primModNatS1(Zero, vyv29100) -> Zero new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_error -> error([]) new_primEqInt(Neg(Succ(vyv242000))) -> False new_fromInt0 -> Pos(Succ(Succ(Zero))) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_fromInt new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (719) 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. ---------------------------------------- (720) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_fromInt0 -> Pos(Succ(Succ(Zero))) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_fromInt new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (721) 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_fromInt ---------------------------------------- (722) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_fromInt0 -> Pos(Succ(Succ(Zero))) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (723) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) at position [2,1] we obtained the following new rules [LPAR04]: (new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h),new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h)) ---------------------------------------- (724) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_fromInt0 -> Pos(Succ(Succ(Zero))) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (725) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), new_fromInt0), ba) at position [2,1] we obtained the following new rules [LPAR04]: (new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba),new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba)) ---------------------------------------- (726) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_fromInt0 -> Pos(Succ(Succ(Zero))) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (727) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, new_fromInt0), h) at position [2,1] we obtained the following new rules [LPAR04]: (new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h),new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h)) ---------------------------------------- (728) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_fromInt0 -> Pos(Succ(Succ(Zero))) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (729) 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. ---------------------------------------- (730) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_fromInt0 new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (731) 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_fromInt0 ---------------------------------------- (732) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (733) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h),new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h)) ---------------------------------------- (734) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (735) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), new_primQuotInt0(Zero, Pos(Succ(Succ(Zero)))), h) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h),new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h)) ---------------------------------------- (736) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (737) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), new_primQuotInt0(Succ(vyv250), Pos(Succ(Succ(Zero)))), bb) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb),new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb)) ---------------------------------------- (738) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (739) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h),new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h)) ---------------------------------------- (740) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (741) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), new_primQuotInt(Succ(vyv228), Pos(Succ(Succ(Zero)))), ba) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba),new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba)) ---------------------------------------- (742) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (743) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), new_primQuotInt(Zero, Pos(Succ(Succ(Zero)))), h) at position [2] we obtained the following new rules [LPAR04]: (new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h),new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h)) ---------------------------------------- (744) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (745) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h),new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h)) ---------------------------------------- (746) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (747) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(new_primDivNatS1(Zero, Succ(Zero))), h) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h),new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h)) ---------------------------------------- (748) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0(vyv183, Neg(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (749) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (750) Complex Obligation (AND) ---------------------------------------- (751) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (752) 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. ---------------------------------------- (753) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) The TRS R consists of the following rules: new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr10(vyv183) -> error([]) new_sr9(vyv183) -> error([]) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (754) 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_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_sr3(x0, ty_Integer) new_sr(x0, ty_Float) new_sr3(x0, ty_Int) new_sr4(x0, x1, ty_Double) new_sr11(x0, x1) new_esEs2(x0, x1, ty_Int) new_sr13(x0, x1) new_sr1(x0, ty_Int) new_sr1(x0, app(ty_Ratio, x1)) new_primMinusNat0(Zero, Zero) new_ms(x0, Neg(x1)) new_sr3(x0, ty_Float) new_sr2(x0, x1, ty_Double) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr1(x0, ty_Integer) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr(x0, ty_Integer) new_sr4(x0, x1, ty_Integer) new_ms(x0, Pos(Zero)) new_sr4(x0, x1, ty_Int) new_sr(x0, ty_Int) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_ms(x0, Pos(Succ(x1))) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_sr2(x0, x1, ty_Float) new_sr4(x0, x1, ty_Float) new_esEs2(x0, x1, ty_Integer) new_sr(x0, ty_Double) new_sr3(x0, ty_Double) new_primMinusNat0(Zero, Succ(x0)) ---------------------------------------- (755) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) The TRS R consists of the following rules: new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr10(vyv183) -> error([]) new_sr9(vyv183) -> error([]) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_primModNatS01(x0, x1, Zero, Zero) new_gcd1(True, x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_abs(Neg(Succ(x0))) new_sr7(x0) new_gcd0(x0, x1) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (756) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (757) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vyv187, vyv183, Neg(Zero), h) -> new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) The TRS R consists of the following rules: new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr10(vyv183) -> error([]) new_sr9(vyv183) -> error([]) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (758) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = new_pr2F0G(vyv187, vyv183, Neg(Zero), h) evaluates to t =new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [vyv183 / new_sr0(vyv183, h)] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from new_pr2F0G(vyv187, vyv183, Neg(Zero), h) to new_pr2F0G(vyv187, new_sr0(vyv183, h), Neg(Zero), h). ---------------------------------------- (759) NO ---------------------------------------- (760) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr0(vyv183, ty_Double) -> new_sr9(vyv183) new_sr0(vyv183, ty_Int) -> new_sr6(vyv183) new_sr0(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr0(vyv183, ty_Float) -> new_sr10(vyv183) new_sr0(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (761) 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. ---------------------------------------- (762) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_sr0(x0, app(ty_Ratio, x1)) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_sr0(x0, ty_Double) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_sr0(x0, ty_Int) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_sr0(x0, ty_Integer) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr0(x0, ty_Float) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (763) 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_sr0(x0, app(ty_Ratio, x1)) new_sr0(x0, ty_Double) new_sr0(x0, ty_Int) new_sr0(x0, ty_Integer) new_sr0(x0, ty_Float) ---------------------------------------- (764) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (765) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h),new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h)) ---------------------------------------- (766) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (767) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(new_primDivNatS1(Zero, Succ(Zero))), h) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h),new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h)) ---------------------------------------- (768) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0(vyv183, Pos(Zero), vyv187, h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (769) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (770) Complex Obligation (AND) ---------------------------------------- (771) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (772) 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. ---------------------------------------- (773) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (774) 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_ms0(x0, Pos(x1)) new_sr3(x0, ty_Integer) new_sr3(x0, ty_Int) new_sr4(x0, x1, ty_Double) new_sr11(x0, x1) new_esEs2(x0, x1, ty_Int) new_sr13(x0, x1) new_sr1(x0, ty_Int) new_sr1(x0, app(ty_Ratio, x1)) new_primMinusNat0(Zero, Zero) new_ms(x0, Neg(x1)) new_sr3(x0, ty_Float) new_sr2(x0, x1, ty_Double) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr1(x0, ty_Integer) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr4(x0, x1, ty_Integer) new_ms(x0, Pos(Zero)) new_sr4(x0, x1, ty_Int) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_ms(x0, Pos(Succ(x1))) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_sr2(x0, x1, ty_Float) new_sr4(x0, x1, ty_Float) new_esEs2(x0, x1, ty_Integer) new_sr3(x0, ty_Double) new_primMinusNat0(Zero, Succ(x0)) ---------------------------------------- (775) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_primModNatS01(x0, x1, Zero, Zero) new_gcd1(True, x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_abs(Neg(Succ(x0))) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (776) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (777) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G(vyv187, vyv183, Pos(Zero), h) -> new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (778) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = new_pr2F0G(vyv187, vyv183, Pos(Zero), h) evaluates to t =new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [vyv183 / new_sr(vyv183, h)] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from new_pr2F0G(vyv187, vyv183, Pos(Zero), h) to new_pr2F0G(vyv187, new_sr(vyv183, h), Pos(Zero), h). ---------------------------------------- (779) NO ---------------------------------------- (780) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) The TRS R consists of the following rules: new_sr(vyv183, ty_Int) -> new_sr6(vyv183) new_sr(vyv183, app(ty_Ratio, bd)) -> new_sr5(vyv183, bd) new_sr(vyv183, ty_Integer) -> new_sr7(vyv183) new_sr(vyv183, ty_Float) -> new_sr10(vyv183) new_sr(vyv183, ty_Double) -> new_sr9(vyv183) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr7(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (781) 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. ---------------------------------------- (782) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_sr(x0, app(ty_Ratio, x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_sr(x0, ty_Float) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_sr(x0, ty_Integer) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_sr(x0, ty_Int) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_sr(x0, ty_Double) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (783) 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_sr(x0, app(ty_Ratio, x1)) new_sr(x0, ty_Float) new_sr(x0, ty_Integer) new_sr(x0, ty_Int) new_sr(x0, ty_Double) ---------------------------------------- (784) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (785) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_pr2F1(vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F30(new_esEs(new_ms0(vyv240, vyv243)), vyv239, vyv240, vyv243, vyv238, bc) we obtained the following new rules [LPAR04]: (new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(new_ms0(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(new_ms0(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3)) ---------------------------------------- (786) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(new_ms0(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (787) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(new_ms0(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3) at position [0,0] we obtained the following new rules [LPAR04]: (new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(new_primPlusNat0(Succ(z2), Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(new_primPlusNat0(Succ(z2), Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3)) ---------------------------------------- (788) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(new_primPlusNat0(Succ(z2), Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (789) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(new_primPlusNat0(Succ(z2), Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3)) ---------------------------------------- (790) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (791) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_esEs(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3)) ---------------------------------------- (792) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (793) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(new_primEqInt(Neg(Succ(Succ(new_primPlusNat0(z2, Zero))))), z1, z2, Pos(Succ(Zero)), z0, z3) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3)) ---------------------------------------- (794) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (795) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_pr2F30(False, vyv239, vyv240, vyv243, vyv238, bc) -> new_pr2F0(vyv239, new_ms0(vyv240, vyv243), new_sr4(vyv239, vyv238, bc), bc) we obtained the following new rules [LPAR04]: (new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms0(z1, Pos(Succ(Zero))), new_sr4(z0, z2, z3), z3),new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms0(z1, Pos(Succ(Zero))), new_sr4(z0, z2, z3), z3)) ---------------------------------------- (796) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms0(z1, Pos(Succ(Zero))), new_sr4(z0, z2, z3), z3) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_ms0(vyv240, Neg(Zero)) -> Neg(Succ(vyv240)) new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_ms0(vyv240, Neg(Succ(vyv24300))) -> new_primMinusNat0(vyv24300, vyv240) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (797) 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. ---------------------------------------- (798) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms0(z1, Pos(Succ(Zero))), new_sr4(z0, z2, z3), z3) The TRS R consists of the following rules: new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr8(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot(vyv273, vyv275, vyv274) -> error([]) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (799) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms0(z1, Pos(Succ(Zero))), new_sr4(z0, z2, z3), z3) at position [1] we obtained the following new rules [LPAR04]: (new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3),new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3)) ---------------------------------------- (800) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3) The TRS R consists of the following rules: new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr8(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot(vyv273, vyv275, vyv274) -> error([]) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (801) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (802) Complex Obligation (AND) ---------------------------------------- (803) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) The TRS R consists of the following rules: new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr8(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot(vyv273, vyv275, vyv274) -> error([]) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (804) 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. ---------------------------------------- (805) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (806) 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_ms0(x0, Pos(x1)) new_sr1(x0, ty_Int) new_sr1(x0, app(ty_Ratio, x1)) new_primMinusNat0(Zero, Zero) new_ms(x0, Neg(x1)) new_sr2(x0, x1, ty_Double) new_sr1(x0, ty_Integer) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Double) new_ms(x0, Pos(Zero)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_ms(x0, Pos(Succ(x1))) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_sr2(x0, x1, ty_Float) new_primMinusNat0(Zero, Succ(x0)) ---------------------------------------- (807) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (808) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(new_primPlusNat0(Succ(z1), Succ(Zero))), new_sr4(z0, z2, z3), z3) at position [1,0] we obtained the following new rules [LPAR04]: (new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3),new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3)) ---------------------------------------- (809) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Zero)), vyv187, h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (810) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (811) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (812) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (813) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (814) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) the following chains were created: *We consider the chain new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7) -> new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7), new_pr2F0(x8, Neg(Succ(Succ(x9))), x10, x11) -> new_pr2F0G10(x10, x8, Succ(x9), x9, x11) which results in the following constraint: (1) (new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)=new_pr2F0(x8, Neg(Succ(Succ(x9))), x10, x11) ==> new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7)_>=_new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7)_>=_new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)) For Pair new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: *We consider the chain new_pr2F0(x48, Neg(Succ(Succ(x49))), x50, x51) -> new_pr2F0G10(x50, x48, Succ(x49), x49, x51), new_pr2F0G10(x52, x53, x54, Succ(Succ(x55)), x56) -> new_pr2F0G10(x52, x53, x54, x55, x56) which results in the following constraint: (1) (new_pr2F0G10(x50, x48, Succ(x49), x49, x51)=new_pr2F0G10(x52, x53, x54, Succ(Succ(x55)), x56) ==> new_pr2F0(x48, Neg(Succ(Succ(x49))), x50, x51)_>=_new_pr2F0G10(x50, x48, Succ(x49), x49, x51)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0(x48, Neg(Succ(Succ(Succ(Succ(x55))))), x50, x51)_>=_new_pr2F0G10(x50, x48, Succ(Succ(Succ(x55))), Succ(Succ(x55)), x51)) *We consider the chain new_pr2F0(x57, Neg(Succ(Succ(x58))), x59, x60) -> new_pr2F0G10(x59, x57, Succ(x58), x58, x60), new_pr2F0G10(x61, x62, x63, Succ(Zero), x64) -> new_pr2F0G11(x61, x62, x63, x64) which results in the following constraint: (1) (new_pr2F0G10(x59, x57, Succ(x58), x58, x60)=new_pr2F0G10(x61, x62, x63, Succ(Zero), x64) ==> new_pr2F0(x57, Neg(Succ(Succ(x58))), x59, x60)_>=_new_pr2F0G10(x59, x57, Succ(x58), x58, x60)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0(x57, Neg(Succ(Succ(Succ(Zero)))), x59, x60)_>=_new_pr2F0G10(x59, x57, Succ(Succ(Zero)), Succ(Zero), x60)) *We consider the chain new_pr2F0(x73, Neg(Succ(Succ(x74))), x75, x76) -> new_pr2F0G10(x75, x73, Succ(x74), x74, x76), new_pr2F0G10(x77, x78, x79, Zero, x80) -> new_pr2F0G(x77, new_sr3(x78, x80), Neg(new_primDivNatS1(Succ(x79), Succ(Zero))), x80) which results in the following constraint: (1) (new_pr2F0G10(x75, x73, Succ(x74), x74, x76)=new_pr2F0G10(x77, x78, x79, Zero, x80) ==> new_pr2F0(x73, Neg(Succ(Succ(x74))), x75, x76)_>=_new_pr2F0G10(x75, x73, Succ(x74), x74, x76)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0(x73, Neg(Succ(Succ(Zero))), x75, x76)_>=_new_pr2F0G10(x75, x73, Succ(Zero), Zero, x76)) For Pair new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) the following chains were created: *We consider the chain new_pr2F0G10(x99, x100, x101, Succ(Succ(x102)), x103) -> new_pr2F0G10(x99, x100, x101, x102, x103), new_pr2F0G10(x104, x105, x106, Succ(Succ(x107)), x108) -> new_pr2F0G10(x104, x105, x106, x107, x108) which results in the following constraint: (1) (new_pr2F0G10(x99, x100, x101, x102, x103)=new_pr2F0G10(x104, x105, x106, Succ(Succ(x107)), x108) ==> new_pr2F0G10(x99, x100, x101, Succ(Succ(x102)), x103)_>=_new_pr2F0G10(x99, x100, x101, x102, x103)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G10(x99, x100, x101, Succ(Succ(Succ(Succ(x107)))), x103)_>=_new_pr2F0G10(x99, x100, x101, Succ(Succ(x107)), x103)) *We consider the chain new_pr2F0G10(x109, x110, x111, Succ(Succ(x112)), x113) -> new_pr2F0G10(x109, x110, x111, x112, x113), new_pr2F0G10(x114, x115, x116, Succ(Zero), x117) -> new_pr2F0G11(x114, x115, x116, x117) which results in the following constraint: (1) (new_pr2F0G10(x109, x110, x111, x112, x113)=new_pr2F0G10(x114, x115, x116, Succ(Zero), x117) ==> new_pr2F0G10(x109, x110, x111, Succ(Succ(x112)), x113)_>=_new_pr2F0G10(x109, x110, x111, x112, x113)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G10(x109, x110, x111, Succ(Succ(Succ(Zero))), x113)_>=_new_pr2F0G10(x109, x110, x111, Succ(Zero), x113)) *We consider the chain new_pr2F0G10(x128, x129, x130, Succ(Succ(x131)), x132) -> new_pr2F0G10(x128, x129, x130, x131, x132), new_pr2F0G10(x133, x134, x135, Zero, x136) -> new_pr2F0G(x133, new_sr3(x134, x136), Neg(new_primDivNatS1(Succ(x135), Succ(Zero))), x136) which results in the following constraint: (1) (new_pr2F0G10(x128, x129, x130, x131, x132)=new_pr2F0G10(x133, x134, x135, Zero, x136) ==> new_pr2F0G10(x128, x129, x130, Succ(Succ(x131)), x132)_>=_new_pr2F0G10(x128, x129, x130, x131, x132)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G10(x128, x129, x130, Succ(Succ(Zero)), x132)_>=_new_pr2F0G10(x128, x129, x130, Zero, x132)) For Pair new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) the following chains were created: *We consider the chain new_pr2F0G10(x163, x164, x165, Succ(Zero), x166) -> new_pr2F0G11(x163, x164, x165, x166), new_pr2F0G11(x167, x168, x169, x170) -> new_pr2F1(x168, x169, Pos(Succ(Zero)), x167, x170) which results in the following constraint: (1) (new_pr2F0G11(x163, x164, x165, x166)=new_pr2F0G11(x167, x168, x169, x170) ==> new_pr2F0G10(x163, x164, x165, Succ(Zero), x166)_>=_new_pr2F0G11(x163, x164, x165, x166)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G10(x163, x164, x165, Succ(Zero), x166)_>=_new_pr2F0G11(x163, x164, x165, x166)) For Pair new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) the following chains were created: *We consider the chain new_pr2F0G11(x207, x208, x209, x210) -> new_pr2F1(x208, x209, Pos(Succ(Zero)), x207, x210), new_pr2F1(x211, x212, Pos(Succ(Zero)), x213, x214) -> new_pr2F30(False, x211, x212, Pos(Succ(Zero)), x213, x214) which results in the following constraint: (1) (new_pr2F1(x208, x209, Pos(Succ(Zero)), x207, x210)=new_pr2F1(x211, x212, Pos(Succ(Zero)), x213, x214) ==> new_pr2F0G11(x207, x208, x209, x210)_>=_new_pr2F1(x208, x209, Pos(Succ(Zero)), x207, x210)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x207, x208, x209, x210)_>=_new_pr2F1(x208, x209, Pos(Succ(Zero)), x207, x210)) For Pair new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) the following chains were created: *We consider the chain new_pr2F1(x227, x228, Pos(Succ(Zero)), x229, x230) -> new_pr2F30(False, x227, x228, Pos(Succ(Zero)), x229, x230), new_pr2F30(False, x231, x232, Pos(Succ(Zero)), x233, x234) -> new_pr2F0(x231, Neg(Succ(Succ(new_primPlusNat0(x232, Zero)))), new_sr4(x231, x233, x234), x234) which results in the following constraint: (1) (new_pr2F30(False, x227, x228, Pos(Succ(Zero)), x229, x230)=new_pr2F30(False, x231, x232, Pos(Succ(Zero)), x233, x234) ==> new_pr2F1(x227, x228, Pos(Succ(Zero)), x229, x230)_>=_new_pr2F30(False, x227, x228, Pos(Succ(Zero)), x229, x230)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F1(x227, x228, Pos(Succ(Zero)), x229, x230)_>=_new_pr2F30(False, x227, x228, Pos(Succ(Zero)), x229, x230)) For Pair new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) the following chains were created: *We consider the chain new_pr2F0G10(x295, x296, x297, Zero, x298) -> new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298), new_pr2F0G(x299, x300, Neg(Succ(Zero)), x301) -> new_pr2F0G11(x299, x300, Zero, x301) which results in the following constraint: (1) (new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298)=new_pr2F0G(x299, x300, Neg(Succ(Zero)), x301) ==> new_pr2F0G10(x295, x296, x297, Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x297)=x390 & Succ(Zero)=x391 & new_primDivNatS1(x390, x391)=Succ(Zero) ==> new_pr2F0G10(x295, x296, x297, Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x390, x391)=Succ(Zero) which results in the following new constraints: (3) (new_primDivNatS02(x394, x393, x394, x393)=Succ(Zero) & Succ(x297)=Succ(Succ(x394)) & Succ(Zero)=Succ(x393) ==> new_pr2F0G10(x295, x296, x297, Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x396), Zero))=Succ(Zero) & Succ(x297)=Succ(Succ(x396)) & Succ(Zero)=Zero ==> new_pr2F0G10(x295, x296, x297, Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Zero) & Succ(x297)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x295, x296, x297, Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(x297), Succ(Zero))), x298)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x394=x397 & x393=x398 & new_primDivNatS02(x394, x393, x397, x398)=Succ(Zero) & Zero=x393 ==> new_pr2F0G10(x295, x296, Succ(x394), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(x394)), Succ(Zero))), x298)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x394, x393, x397, x398)=Succ(Zero) which results in the following new constraints: (7) (new_primDivNatS01(x400, x399)=Succ(Zero) & x400=Zero & x399=Zero & Zero=x399 ==> new_pr2F0G10(x295, x296, Succ(x400), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(x400)), Succ(Zero))), x298)) (8) (new_primDivNatS01(x403, x402)=Succ(Zero) & x403=Succ(x401) & x402=Zero & Zero=x402 ==> new_pr2F0G10(x295, x296, Succ(x403), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(x403)), Succ(Zero))), x298)) (9) (new_primDivNatS02(x410, x409, x408, x407)=Succ(Zero) & x410=Succ(x408) & x409=Succ(x407) & Zero=x409 & (\/x411,x412,x413:new_primDivNatS02(x410, x409, x408, x407)=Succ(Zero) & x410=x408 & x409=x407 & Zero=x409 ==> new_pr2F0G10(x411, x412, Succ(x410), Zero, x413)_>=_new_pr2F0G(x411, new_sr3(x412, x413), Neg(new_primDivNatS1(Succ(Succ(x410)), Succ(Zero))), x413)) ==> new_pr2F0G10(x295, x296, Succ(x410), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(x410)), Succ(Zero))), x298)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x295, x296, Succ(Zero), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x298)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x295, x296, Succ(Succ(x401)), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(Succ(x401))), Succ(Zero))), x298)) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G10(x302, x303, x304, Zero, x305) -> new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305), new_pr2F0G(x306, x307, Neg(Succ(Succ(x308))), x309) -> new_pr2F0G10(x306, x307, Succ(x308), x308, x309) which results in the following constraint: (1) (new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305)=new_pr2F0G(x306, x307, Neg(Succ(Succ(x308))), x309) ==> new_pr2F0G10(x302, x303, x304, Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x304)=x418 & Succ(Zero)=x419 & new_primDivNatS1(x418, x419)=Succ(Succ(x308)) ==> new_pr2F0G10(x302, x303, x304, Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x418, x419)=Succ(Succ(x308)) which results in the following new constraints: (3) (new_primDivNatS02(x422, x421, x422, x421)=Succ(Succ(x308)) & Succ(x304)=Succ(Succ(x422)) & Succ(Zero)=Succ(x421) ==> new_pr2F0G10(x302, x303, x304, Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x424), Zero))=Succ(Succ(x308)) & Succ(x304)=Succ(Succ(x424)) & Succ(Zero)=Zero ==> new_pr2F0G10(x302, x303, x304, Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x308)) & Succ(x304)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x302, x303, x304, Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(x304), Succ(Zero))), x305)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x422=x425 & x421=x426 & new_primDivNatS02(x422, x421, x425, x426)=Succ(Succ(x308)) & Zero=x421 ==> new_pr2F0G10(x302, x303, Succ(x422), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(x422)), Succ(Zero))), x305)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x422, x421, x425, x426)=Succ(Succ(x308)) which results in the following new constraints: (7) (new_primDivNatS01(x428, x427)=Succ(Succ(x308)) & x428=Zero & x427=Zero & Zero=x427 ==> new_pr2F0G10(x302, x303, Succ(x428), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(x428)), Succ(Zero))), x305)) (8) (new_primDivNatS01(x431, x430)=Succ(Succ(x308)) & x431=Succ(x429) & x430=Zero & Zero=x430 ==> new_pr2F0G10(x302, x303, Succ(x431), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(x431)), Succ(Zero))), x305)) (9) (new_primDivNatS02(x438, x437, x436, x435)=Succ(Succ(x308)) & x438=Succ(x436) & x437=Succ(x435) & Zero=x437 & (\/x439,x440,x441,x442:new_primDivNatS02(x438, x437, x436, x435)=Succ(Succ(x439)) & x438=x436 & x437=x435 & Zero=x437 ==> new_pr2F0G10(x440, x441, Succ(x438), Zero, x442)_>=_new_pr2F0G(x440, new_sr3(x441, x442), Neg(new_primDivNatS1(Succ(Succ(x438)), Succ(Zero))), x442)) ==> new_pr2F0G10(x302, x303, Succ(x438), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(x438)), Succ(Zero))), x305)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x302, x303, Succ(Zero), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x305)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x302, x303, Succ(Succ(x429)), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(Succ(x429))), Succ(Zero))), x305)) We solved constraint (9) using rules (I), (II), (III). For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) the following chains were created: *We consider the chain new_pr2F0G(x322, x323, Neg(Succ(Zero)), x324) -> new_pr2F0G11(x322, x323, Zero, x324), new_pr2F0G11(x325, x326, x327, x328) -> new_pr2F1(x326, x327, Pos(Succ(Zero)), x325, x328) which results in the following constraint: (1) (new_pr2F0G11(x322, x323, Zero, x324)=new_pr2F0G11(x325, x326, x327, x328) ==> new_pr2F0G(x322, x323, Neg(Succ(Zero)), x324)_>=_new_pr2F0G11(x322, x323, Zero, x324)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G(x322, x323, Neg(Succ(Zero)), x324)_>=_new_pr2F0G11(x322, x323, Zero, x324)) For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: *We consider the chain new_pr2F0G(x349, x350, Neg(Succ(Succ(x351))), x352) -> new_pr2F0G10(x349, x350, Succ(x351), x351, x352), new_pr2F0G10(x353, x354, x355, Succ(Succ(x356)), x357) -> new_pr2F0G10(x353, x354, x355, x356, x357) which results in the following constraint: (1) (new_pr2F0G10(x349, x350, Succ(x351), x351, x352)=new_pr2F0G10(x353, x354, x355, Succ(Succ(x356)), x357) ==> new_pr2F0G(x349, x350, Neg(Succ(Succ(x351))), x352)_>=_new_pr2F0G10(x349, x350, Succ(x351), x351, x352)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G(x349, x350, Neg(Succ(Succ(Succ(Succ(x356))))), x352)_>=_new_pr2F0G10(x349, x350, Succ(Succ(Succ(x356))), Succ(Succ(x356)), x352)) *We consider the chain new_pr2F0G(x358, x359, Neg(Succ(Succ(x360))), x361) -> new_pr2F0G10(x358, x359, Succ(x360), x360, x361), new_pr2F0G10(x362, x363, x364, Succ(Zero), x365) -> new_pr2F0G11(x362, x363, x364, x365) which results in the following constraint: (1) (new_pr2F0G10(x358, x359, Succ(x360), x360, x361)=new_pr2F0G10(x362, x363, x364, Succ(Zero), x365) ==> new_pr2F0G(x358, x359, Neg(Succ(Succ(x360))), x361)_>=_new_pr2F0G10(x358, x359, Succ(x360), x360, x361)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G(x358, x359, Neg(Succ(Succ(Succ(Zero)))), x361)_>=_new_pr2F0G10(x358, x359, Succ(Succ(Zero)), Succ(Zero), x361)) *We consider the chain new_pr2F0G(x374, x375, Neg(Succ(Succ(x376))), x377) -> new_pr2F0G10(x374, x375, Succ(x376), x376, x377), new_pr2F0G10(x378, x379, x380, Zero, x381) -> new_pr2F0G(x378, new_sr3(x379, x381), Neg(new_primDivNatS1(Succ(x380), Succ(Zero))), x381) which results in the following constraint: (1) (new_pr2F0G10(x374, x375, Succ(x376), x376, x377)=new_pr2F0G10(x378, x379, x380, Zero, x381) ==> new_pr2F0G(x374, x375, Neg(Succ(Succ(x376))), x377)_>=_new_pr2F0G10(x374, x375, Succ(x376), x376, x377)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G(x374, x375, Neg(Succ(Succ(Zero))), x377)_>=_new_pr2F0G10(x374, x375, Succ(Zero), Zero, x377)) To summarize, we get the following constraints P__>=_ for the following pairs. *new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) *(new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7)_>=_new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)) *new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) *(new_pr2F0(x48, Neg(Succ(Succ(Succ(Succ(x55))))), x50, x51)_>=_new_pr2F0G10(x50, x48, Succ(Succ(Succ(x55))), Succ(Succ(x55)), x51)) *(new_pr2F0(x57, Neg(Succ(Succ(Succ(Zero)))), x59, x60)_>=_new_pr2F0G10(x59, x57, Succ(Succ(Zero)), Succ(Zero), x60)) *(new_pr2F0(x73, Neg(Succ(Succ(Zero))), x75, x76)_>=_new_pr2F0G10(x75, x73, Succ(Zero), Zero, x76)) *new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) *(new_pr2F0G10(x99, x100, x101, Succ(Succ(Succ(Succ(x107)))), x103)_>=_new_pr2F0G10(x99, x100, x101, Succ(Succ(x107)), x103)) *(new_pr2F0G10(x109, x110, x111, Succ(Succ(Succ(Zero))), x113)_>=_new_pr2F0G10(x109, x110, x111, Succ(Zero), x113)) *(new_pr2F0G10(x128, x129, x130, Succ(Succ(Zero)), x132)_>=_new_pr2F0G10(x128, x129, x130, Zero, x132)) *new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) *(new_pr2F0G10(x163, x164, x165, Succ(Zero), x166)_>=_new_pr2F0G11(x163, x164, x165, x166)) *new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) *(new_pr2F0G11(x207, x208, x209, x210)_>=_new_pr2F1(x208, x209, Pos(Succ(Zero)), x207, x210)) *new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) *(new_pr2F1(x227, x228, Pos(Succ(Zero)), x229, x230)_>=_new_pr2F30(False, x227, x228, Pos(Succ(Zero)), x229, x230)) *new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) *(new_pr2F0G10(x295, x296, Succ(Zero), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x298)) *(new_pr2F0G10(x295, x296, Succ(Succ(x401)), Zero, x298)_>=_new_pr2F0G(x295, new_sr3(x296, x298), Neg(new_primDivNatS1(Succ(Succ(Succ(x401))), Succ(Zero))), x298)) *(new_pr2F0G10(x302, x303, Succ(Zero), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x305)) *(new_pr2F0G10(x302, x303, Succ(Succ(x429)), Zero, x305)_>=_new_pr2F0G(x302, new_sr3(x303, x305), Neg(new_primDivNatS1(Succ(Succ(Succ(x429))), Succ(Zero))), x305)) *new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) *(new_pr2F0G(x322, x323, Neg(Succ(Zero)), x324)_>=_new_pr2F0G11(x322, x323, Zero, x324)) *new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) *(new_pr2F0G(x349, x350, Neg(Succ(Succ(Succ(Succ(x356))))), x352)_>=_new_pr2F0G10(x349, x350, Succ(Succ(Succ(x356))), Succ(Succ(x356)), x352)) *(new_pr2F0G(x358, x359, Neg(Succ(Succ(Succ(Zero)))), x361)_>=_new_pr2F0G10(x358, x359, Succ(Succ(Zero)), Succ(Zero), x361)) *(new_pr2F0G(x374, x375, Neg(Succ(Succ(Zero))), x377)_>=_new_pr2F0G10(x374, x375, Succ(Zero), Zero, x377)) 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. ---------------------------------------- (815) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (816) QDPPairToRuleProof (EQUIVALENT) The dependency pair new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) was transformed to the following new rules: anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) the following new pairs maintain the fan-in: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) the following new pairs maintain the fan-out: H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) ---------------------------------------- (817) Complex Obligation (AND) ---------------------------------------- (818) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (819) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (820) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (821) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) the following chains were created: *We consider the chain new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7) -> new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7), new_pr2F0(x8, Neg(Succ(Succ(x9))), x10, x11) -> new_pr2F0G10(x10, x8, Succ(x9), x9, x11) which results in the following constraint: (1) (new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)=new_pr2F0(x8, Neg(Succ(Succ(x9))), x10, x11) ==> new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7)_>=_new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7)_>=_new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)) *We consider the chain new_pr2F30(False, x36, x37, Pos(Succ(Zero)), x38, x39) -> new_pr2F0(x36, Neg(Succ(Succ(new_primPlusNat0(x37, Zero)))), new_sr4(x36, x38, x39), x39), new_pr2F0(x40, Neg(Succ(Succ(x41))), x42, x43) -> H(x42, x40, Succ(x41), x43, anew_new_pr2F0G10(x41)) which results in the following constraint: (1) (new_pr2F0(x36, Neg(Succ(Succ(new_primPlusNat0(x37, Zero)))), new_sr4(x36, x38, x39), x39)=new_pr2F0(x40, Neg(Succ(Succ(x41))), x42, x43) ==> new_pr2F30(False, x36, x37, Pos(Succ(Zero)), x38, x39)_>=_new_pr2F0(x36, Neg(Succ(Succ(new_primPlusNat0(x37, Zero)))), new_sr4(x36, x38, x39), x39)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F30(False, x36, x37, Pos(Succ(Zero)), x38, x39)_>=_new_pr2F0(x36, Neg(Succ(Succ(new_primPlusNat0(x37, Zero)))), new_sr4(x36, x38, x39), x39)) For Pair new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: *We consider the chain new_pr2F0(x64, Neg(Succ(Succ(x65))), x66, x67) -> new_pr2F0G10(x66, x64, Succ(x65), x65, x67), new_pr2F0G10(x68, x69, x70, Succ(Zero), x71) -> new_pr2F0G11(x68, x69, x70, x71) which results in the following constraint: (1) (new_pr2F0G10(x66, x64, Succ(x65), x65, x67)=new_pr2F0G10(x68, x69, x70, Succ(Zero), x71) ==> new_pr2F0(x64, Neg(Succ(Succ(x65))), x66, x67)_>=_new_pr2F0G10(x66, x64, Succ(x65), x65, x67)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0(x64, Neg(Succ(Succ(Succ(Zero)))), x66, x67)_>=_new_pr2F0G10(x66, x64, Succ(Succ(Zero)), Succ(Zero), x67)) *We consider the chain new_pr2F0(x80, Neg(Succ(Succ(x81))), x82, x83) -> new_pr2F0G10(x82, x80, Succ(x81), x81, x83), new_pr2F0G10(x84, x85, x86, Zero, x87) -> new_pr2F0G(x84, new_sr3(x85, x87), Neg(new_primDivNatS1(Succ(x86), Succ(Zero))), x87) which results in the following constraint: (1) (new_pr2F0G10(x82, x80, Succ(x81), x81, x83)=new_pr2F0G10(x84, x85, x86, Zero, x87) ==> new_pr2F0(x80, Neg(Succ(Succ(x81))), x82, x83)_>=_new_pr2F0G10(x82, x80, Succ(x81), x81, x83)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0(x80, Neg(Succ(Succ(Zero))), x82, x83)_>=_new_pr2F0G10(x82, x80, Succ(Zero), Zero, x83)) For Pair new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) the following chains were created: *We consider the chain new_pr2F0G10(x124, x125, x126, Succ(Zero), x127) -> new_pr2F0G11(x124, x125, x126, x127), new_pr2F0G11(x128, x129, x130, x131) -> new_pr2F1(x129, x130, Pos(Succ(Zero)), x128, x131) which results in the following constraint: (1) (new_pr2F0G11(x124, x125, x126, x127)=new_pr2F0G11(x128, x129, x130, x131) ==> new_pr2F0G10(x124, x125, x126, Succ(Zero), x127)_>=_new_pr2F0G11(x124, x125, x126, x127)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G10(x124, x125, x126, Succ(Zero), x127)_>=_new_pr2F0G11(x124, x125, x126, x127)) For Pair new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) the following chains were created: *We consider the chain new_pr2F0G11(x180, x181, x182, x183) -> new_pr2F1(x181, x182, Pos(Succ(Zero)), x180, x183), new_pr2F1(x184, x185, Pos(Succ(Zero)), x186, x187) -> new_pr2F30(False, x184, x185, Pos(Succ(Zero)), x186, x187) which results in the following constraint: (1) (new_pr2F1(x181, x182, Pos(Succ(Zero)), x180, x183)=new_pr2F1(x184, x185, Pos(Succ(Zero)), x186, x187) ==> new_pr2F0G11(x180, x181, x182, x183)_>=_new_pr2F1(x181, x182, Pos(Succ(Zero)), x180, x183)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x180, x181, x182, x183)_>=_new_pr2F1(x181, x182, Pos(Succ(Zero)), x180, x183)) For Pair new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) the following chains were created: *We consider the chain new_pr2F1(x216, x217, Pos(Succ(Zero)), x218, x219) -> new_pr2F30(False, x216, x217, Pos(Succ(Zero)), x218, x219), new_pr2F30(False, x220, x221, Pos(Succ(Zero)), x222, x223) -> new_pr2F0(x220, Neg(Succ(Succ(new_primPlusNat0(x221, Zero)))), new_sr4(x220, x222, x223), x223) which results in the following constraint: (1) (new_pr2F30(False, x216, x217, Pos(Succ(Zero)), x218, x219)=new_pr2F30(False, x220, x221, Pos(Succ(Zero)), x222, x223) ==> new_pr2F1(x216, x217, Pos(Succ(Zero)), x218, x219)_>=_new_pr2F30(False, x216, x217, Pos(Succ(Zero)), x218, x219)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F1(x216, x217, Pos(Succ(Zero)), x218, x219)_>=_new_pr2F30(False, x216, x217, Pos(Succ(Zero)), x218, x219)) For Pair new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) the following chains were created: *We consider the chain new_pr2F0G10(x292, x293, x294, Zero, x295) -> new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295), new_pr2F0G(x296, x297, Neg(Succ(Zero)), x298) -> new_pr2F0G11(x296, x297, Zero, x298) which results in the following constraint: (1) (new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295)=new_pr2F0G(x296, x297, Neg(Succ(Zero)), x298) ==> new_pr2F0G10(x292, x293, x294, Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x294)=x639 & Succ(Zero)=x640 & new_primDivNatS1(x639, x640)=Succ(Zero) ==> new_pr2F0G10(x292, x293, x294, Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x639, x640)=Succ(Zero) which results in the following new constraints: (3) (new_primDivNatS02(x643, x642, x643, x642)=Succ(Zero) & Succ(x294)=Succ(Succ(x643)) & Succ(Zero)=Succ(x642) ==> new_pr2F0G10(x292, x293, x294, Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x645), Zero))=Succ(Zero) & Succ(x294)=Succ(Succ(x645)) & Succ(Zero)=Zero ==> new_pr2F0G10(x292, x293, x294, Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Zero) & Succ(x294)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x292, x293, x294, Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(x294), Succ(Zero))), x295)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x643=x646 & x642=x647 & new_primDivNatS02(x643, x642, x646, x647)=Succ(Zero) & Zero=x642 ==> new_pr2F0G10(x292, x293, Succ(x643), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(x643)), Succ(Zero))), x295)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x643, x642, x646, x647)=Succ(Zero) which results in the following new constraints: (7) (new_primDivNatS01(x649, x648)=Succ(Zero) & x649=Zero & x648=Zero & Zero=x648 ==> new_pr2F0G10(x292, x293, Succ(x649), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(x649)), Succ(Zero))), x295)) (8) (new_primDivNatS01(x652, x651)=Succ(Zero) & x652=Succ(x650) & x651=Zero & Zero=x651 ==> new_pr2F0G10(x292, x293, Succ(x652), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(x652)), Succ(Zero))), x295)) (9) (new_primDivNatS02(x659, x658, x657, x656)=Succ(Zero) & x659=Succ(x657) & x658=Succ(x656) & Zero=x658 & (\/x660,x661,x662:new_primDivNatS02(x659, x658, x657, x656)=Succ(Zero) & x659=x657 & x658=x656 & Zero=x658 ==> new_pr2F0G10(x660, x661, Succ(x659), Zero, x662)_>=_new_pr2F0G(x660, new_sr3(x661, x662), Neg(new_primDivNatS1(Succ(Succ(x659)), Succ(Zero))), x662)) ==> new_pr2F0G10(x292, x293, Succ(x659), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(x659)), Succ(Zero))), x295)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x292, x293, Succ(Zero), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x295)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x292, x293, Succ(Succ(x650)), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(Succ(x650))), Succ(Zero))), x295)) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G10(x299, x300, x301, Zero, x302) -> new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302), new_pr2F0G(x303, x304, Neg(Succ(Succ(x305))), x306) -> new_pr2F0G10(x303, x304, Succ(x305), x305, x306) which results in the following constraint: (1) (new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302)=new_pr2F0G(x303, x304, Neg(Succ(Succ(x305))), x306) ==> new_pr2F0G10(x299, x300, x301, Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x301)=x667 & Succ(Zero)=x668 & new_primDivNatS1(x667, x668)=Succ(Succ(x305)) ==> new_pr2F0G10(x299, x300, x301, Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x667, x668)=Succ(Succ(x305)) which results in the following new constraints: (3) (new_primDivNatS02(x671, x670, x671, x670)=Succ(Succ(x305)) & Succ(x301)=Succ(Succ(x671)) & Succ(Zero)=Succ(x670) ==> new_pr2F0G10(x299, x300, x301, Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x673), Zero))=Succ(Succ(x305)) & Succ(x301)=Succ(Succ(x673)) & Succ(Zero)=Zero ==> new_pr2F0G10(x299, x300, x301, Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x305)) & Succ(x301)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x299, x300, x301, Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(x301), Succ(Zero))), x302)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x671=x674 & x670=x675 & new_primDivNatS02(x671, x670, x674, x675)=Succ(Succ(x305)) & Zero=x670 ==> new_pr2F0G10(x299, x300, Succ(x671), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(x671)), Succ(Zero))), x302)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x671, x670, x674, x675)=Succ(Succ(x305)) which results in the following new constraints: (7) (new_primDivNatS01(x677, x676)=Succ(Succ(x305)) & x677=Zero & x676=Zero & Zero=x676 ==> new_pr2F0G10(x299, x300, Succ(x677), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(x677)), Succ(Zero))), x302)) (8) (new_primDivNatS01(x680, x679)=Succ(Succ(x305)) & x680=Succ(x678) & x679=Zero & Zero=x679 ==> new_pr2F0G10(x299, x300, Succ(x680), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(x680)), Succ(Zero))), x302)) (9) (new_primDivNatS02(x687, x686, x685, x684)=Succ(Succ(x305)) & x687=Succ(x685) & x686=Succ(x684) & Zero=x686 & (\/x688,x689,x690,x691:new_primDivNatS02(x687, x686, x685, x684)=Succ(Succ(x688)) & x687=x685 & x686=x684 & Zero=x686 ==> new_pr2F0G10(x689, x690, Succ(x687), Zero, x691)_>=_new_pr2F0G(x689, new_sr3(x690, x691), Neg(new_primDivNatS1(Succ(Succ(x687)), Succ(Zero))), x691)) ==> new_pr2F0G10(x299, x300, Succ(x687), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(x687)), Succ(Zero))), x302)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x299, x300, Succ(Zero), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x302)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x299, x300, Succ(Succ(x678)), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(Succ(x678))), Succ(Zero))), x302)) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G10(x311, x312, x313, Zero, x314) -> new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314), new_pr2F0G(x315, x316, Neg(Succ(Succ(x317))), x318) -> H(x315, x316, Succ(x317), x318, anew_new_pr2F0G10(x317)) which results in the following constraint: (1) (new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314)=new_pr2F0G(x315, x316, Neg(Succ(Succ(x317))), x318) ==> new_pr2F0G10(x311, x312, x313, Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x313)=x696 & Succ(Zero)=x697 & new_primDivNatS1(x696, x697)=Succ(Succ(x317)) ==> new_pr2F0G10(x311, x312, x313, Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x696, x697)=Succ(Succ(x317)) which results in the following new constraints: (3) (new_primDivNatS02(x700, x699, x700, x699)=Succ(Succ(x317)) & Succ(x313)=Succ(Succ(x700)) & Succ(Zero)=Succ(x699) ==> new_pr2F0G10(x311, x312, x313, Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x702), Zero))=Succ(Succ(x317)) & Succ(x313)=Succ(Succ(x702)) & Succ(Zero)=Zero ==> new_pr2F0G10(x311, x312, x313, Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x317)) & Succ(x313)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x311, x312, x313, Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(x313), Succ(Zero))), x314)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x700=x703 & x699=x704 & new_primDivNatS02(x700, x699, x703, x704)=Succ(Succ(x317)) & Zero=x699 ==> new_pr2F0G10(x311, x312, Succ(x700), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(x700)), Succ(Zero))), x314)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x700, x699, x703, x704)=Succ(Succ(x317)) which results in the following new constraints: (7) (new_primDivNatS01(x706, x705)=Succ(Succ(x317)) & x706=Zero & x705=Zero & Zero=x705 ==> new_pr2F0G10(x311, x312, Succ(x706), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(x706)), Succ(Zero))), x314)) (8) (new_primDivNatS01(x709, x708)=Succ(Succ(x317)) & x709=Succ(x707) & x708=Zero & Zero=x708 ==> new_pr2F0G10(x311, x312, Succ(x709), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(x709)), Succ(Zero))), x314)) (9) (new_primDivNatS02(x716, x715, x714, x713)=Succ(Succ(x317)) & x716=Succ(x714) & x715=Succ(x713) & Zero=x715 & (\/x717,x718,x719,x720:new_primDivNatS02(x716, x715, x714, x713)=Succ(Succ(x717)) & x716=x714 & x715=x713 & Zero=x715 ==> new_pr2F0G10(x718, x719, Succ(x716), Zero, x720)_>=_new_pr2F0G(x718, new_sr3(x719, x720), Neg(new_primDivNatS1(Succ(Succ(x716)), Succ(Zero))), x720)) ==> new_pr2F0G10(x311, x312, Succ(x716), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(x716)), Succ(Zero))), x314)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x311, x312, Succ(Zero), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x314)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x311, x312, Succ(Succ(x707)), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(Succ(x707))), Succ(Zero))), x314)) We solved constraint (9) using rules (I), (II), (III). For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) the following chains were created: *We consider the chain new_pr2F0G(x336, x337, Neg(Succ(Zero)), x338) -> new_pr2F0G11(x336, x337, Zero, x338), new_pr2F0G11(x339, x340, x341, x342) -> new_pr2F1(x340, x341, Pos(Succ(Zero)), x339, x342) which results in the following constraint: (1) (new_pr2F0G11(x336, x337, Zero, x338)=new_pr2F0G11(x339, x340, x341, x342) ==> new_pr2F0G(x336, x337, Neg(Succ(Zero)), x338)_>=_new_pr2F0G11(x336, x337, Zero, x338)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G(x336, x337, Neg(Succ(Zero)), x338)_>=_new_pr2F0G11(x336, x337, Zero, x338)) For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: *We consider the chain new_pr2F0G(x375, x376, Neg(Succ(Succ(x377))), x378) -> new_pr2F0G10(x375, x376, Succ(x377), x377, x378), new_pr2F0G10(x379, x380, x381, Succ(Zero), x382) -> new_pr2F0G11(x379, x380, x381, x382) which results in the following constraint: (1) (new_pr2F0G10(x375, x376, Succ(x377), x377, x378)=new_pr2F0G10(x379, x380, x381, Succ(Zero), x382) ==> new_pr2F0G(x375, x376, Neg(Succ(Succ(x377))), x378)_>=_new_pr2F0G10(x375, x376, Succ(x377), x377, x378)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G(x375, x376, Neg(Succ(Succ(Succ(Zero)))), x378)_>=_new_pr2F0G10(x375, x376, Succ(Succ(Zero)), Succ(Zero), x378)) *We consider the chain new_pr2F0G(x391, x392, Neg(Succ(Succ(x393))), x394) -> new_pr2F0G10(x391, x392, Succ(x393), x393, x394), new_pr2F0G10(x395, x396, x397, Zero, x398) -> new_pr2F0G(x395, new_sr3(x396, x398), Neg(new_primDivNatS1(Succ(x397), Succ(Zero))), x398) which results in the following constraint: (1) (new_pr2F0G10(x391, x392, Succ(x393), x393, x394)=new_pr2F0G10(x395, x396, x397, Zero, x398) ==> new_pr2F0G(x391, x392, Neg(Succ(Succ(x393))), x394)_>=_new_pr2F0G10(x391, x392, Succ(x393), x393, x394)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G(x391, x392, Neg(Succ(Succ(Zero))), x394)_>=_new_pr2F0G10(x391, x392, Succ(Zero), Zero, x394)) For Pair new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) the following chains were created: *We consider the chain new_pr2F0(x463, Neg(Succ(Succ(x464))), x465, x466) -> H(x465, x463, Succ(x464), x466, anew_new_pr2F0G10(x464)), H(x467, x468, x469, x470, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x467, x468, x469, Succ(Zero), x470) which results in the following constraint: (1) (H(x465, x463, Succ(x464), x466, anew_new_pr2F0G10(x464))=H(x467, x468, x469, x470, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0(x463, Neg(Succ(Succ(x464))), x465, x466)_>=_H(x465, x463, Succ(x464), x466, anew_new_pr2F0G10(x464))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G10(x464)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x463, Neg(Succ(Succ(x464))), x465, x466)_>=_H(x465, x463, Succ(x464), x466, anew_new_pr2F0G10(x464))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G10(x464)=cons_new_pr2F0G10(Succ(Zero)) which results in the following new constraint: (3) (new_new_pr2F0G10(x725)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(x725))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(x725))), x466, anew_new_pr2F0G10(Succ(Succ(x725))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x725)=cons_new_pr2F0G10(Succ(Zero)) which results in the following new constraints: (4) (new_new_pr2F0G10(x726)=cons_new_pr2F0G10(Succ(Zero)) & (\/x727,x728,x729:new_new_pr2F0G10(x726)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x727, Neg(Succ(Succ(Succ(Succ(x726))))), x728, x729)_>=_H(x728, x727, Succ(Succ(Succ(x726))), x729, anew_new_pr2F0G10(Succ(Succ(x726))))) ==> new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x726))))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Succ(Succ(x726))))), x466, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x726))))))) (5) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Succ(Zero)))), x466, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) (6) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Zero))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Zero))), x466, anew_new_pr2F0G10(Succ(Succ(Zero))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x727,x728,x729:new_new_pr2F0G10(x726)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x727, Neg(Succ(Succ(Succ(Succ(x726))))), x728, x729)_>=_H(x728, x727, Succ(Succ(Succ(x726))), x729, anew_new_pr2F0G10(Succ(Succ(x726))))) with sigma = [x727 / x463, x728 / x465, x729 / x466] which results in the following new constraint: (7) (new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(x726))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(x726))), x466, anew_new_pr2F0G10(Succ(Succ(x726)))) ==> new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x726))))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Succ(Succ(x726))))), x466, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x726))))))) We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Succ(Zero)))), x466, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) We solved constraint (6) using rules (I), (II). *We consider the chain new_pr2F0(x471, Neg(Succ(Succ(x472))), x473, x474) -> H(x473, x471, Succ(x472), x474, anew_new_pr2F0G10(x472)), H(x475, x476, x477, x478, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x475, x476, x477, Zero, x478) which results in the following constraint: (1) (H(x473, x471, Succ(x472), x474, anew_new_pr2F0G10(x472))=H(x475, x476, x477, x478, cons_new_pr2F0G10(Zero)) ==> new_pr2F0(x471, Neg(Succ(Succ(x472))), x473, x474)_>=_H(x473, x471, Succ(x472), x474, anew_new_pr2F0G10(x472))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G10(x472)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x471, Neg(Succ(Succ(x472))), x473, x474)_>=_H(x473, x471, Succ(x472), x474, anew_new_pr2F0G10(x472))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G10(x472)=cons_new_pr2F0G10(Zero) which results in the following new constraint: (3) (new_new_pr2F0G10(x730)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(x730))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(x730))), x474, anew_new_pr2F0G10(Succ(Succ(x730))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x730)=cons_new_pr2F0G10(Zero) which results in the following new constraints: (4) (new_new_pr2F0G10(x731)=cons_new_pr2F0G10(Zero) & (\/x732,x733,x734:new_new_pr2F0G10(x731)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x732, Neg(Succ(Succ(Succ(Succ(x731))))), x733, x734)_>=_H(x733, x732, Succ(Succ(Succ(x731))), x734, anew_new_pr2F0G10(Succ(Succ(x731))))) ==> new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x731))))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Succ(Succ(x731))))), x474, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x731))))))) (5) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Succ(Zero)))), x474, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) (6) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Zero))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Zero))), x474, anew_new_pr2F0G10(Succ(Succ(Zero))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x732,x733,x734:new_new_pr2F0G10(x731)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x732, Neg(Succ(Succ(Succ(Succ(x731))))), x733, x734)_>=_H(x733, x732, Succ(Succ(Succ(x731))), x734, anew_new_pr2F0G10(Succ(Succ(x731))))) with sigma = [x732 / x471, x733 / x473, x734 / x474] which results in the following new constraint: (7) (new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(x731))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(x731))), x474, anew_new_pr2F0G10(Succ(Succ(x731)))) ==> new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x731))))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Succ(Succ(x731))))), x474, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x731))))))) We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Zero))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Zero))), x474, anew_new_pr2F0G10(Succ(Succ(Zero))))) For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) the following chains were created: *We consider the chain new_pr2F0G(x519, x520, Neg(Succ(Succ(x521))), x522) -> H(x519, x520, Succ(x521), x522, anew_new_pr2F0G10(x521)), H(x523, x524, x525, x526, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x523, x524, x525, Succ(Zero), x526) which results in the following constraint: (1) (H(x519, x520, Succ(x521), x522, anew_new_pr2F0G10(x521))=H(x523, x524, x525, x526, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(x521))), x522)_>=_H(x519, x520, Succ(x521), x522, anew_new_pr2F0G10(x521))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G10(x521)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(x521))), x522)_>=_H(x519, x520, Succ(x521), x522, anew_new_pr2F0G10(x521))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G10(x521)=cons_new_pr2F0G10(Succ(Zero)) which results in the following new constraint: (3) (new_new_pr2F0G10(x735)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(x735))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(x735))), x522, anew_new_pr2F0G10(Succ(Succ(x735))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x735)=cons_new_pr2F0G10(Succ(Zero)) which results in the following new constraints: (4) (new_new_pr2F0G10(x736)=cons_new_pr2F0G10(Succ(Zero)) & (\/x737,x738,x739:new_new_pr2F0G10(x736)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x737, x738, Neg(Succ(Succ(Succ(Succ(x736))))), x739)_>=_H(x737, x738, Succ(Succ(Succ(x736))), x739, anew_new_pr2F0G10(Succ(Succ(x736))))) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x736))))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Succ(Succ(x736))))), x522, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x736))))))) (5) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Succ(Zero)))), x522, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) (6) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Zero))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Zero))), x522, anew_new_pr2F0G10(Succ(Succ(Zero))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x737,x738,x739:new_new_pr2F0G10(x736)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x737, x738, Neg(Succ(Succ(Succ(Succ(x736))))), x739)_>=_H(x737, x738, Succ(Succ(Succ(x736))), x739, anew_new_pr2F0G10(Succ(Succ(x736))))) with sigma = [x737 / x519, x738 / x520, x739 / x522] which results in the following new constraint: (7) (new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(x736))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(x736))), x522, anew_new_pr2F0G10(Succ(Succ(x736)))) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x736))))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Succ(Succ(x736))))), x522, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x736))))))) We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Succ(Zero)))), x522, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) We solved constraint (6) using rules (I), (II). *We consider the chain new_pr2F0G(x527, x528, Neg(Succ(Succ(x529))), x530) -> H(x527, x528, Succ(x529), x530, anew_new_pr2F0G10(x529)), H(x531, x532, x533, x534, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x531, x532, x533, Zero, x534) which results in the following constraint: (1) (H(x527, x528, Succ(x529), x530, anew_new_pr2F0G10(x529))=H(x531, x532, x533, x534, cons_new_pr2F0G10(Zero)) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(x529))), x530)_>=_H(x527, x528, Succ(x529), x530, anew_new_pr2F0G10(x529))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G10(x529)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(x529))), x530)_>=_H(x527, x528, Succ(x529), x530, anew_new_pr2F0G10(x529))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G10(x529)=cons_new_pr2F0G10(Zero) which results in the following new constraint: (3) (new_new_pr2F0G10(x740)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(x740))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(x740))), x530, anew_new_pr2F0G10(Succ(Succ(x740))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x740)=cons_new_pr2F0G10(Zero) which results in the following new constraints: (4) (new_new_pr2F0G10(x741)=cons_new_pr2F0G10(Zero) & (\/x742,x743,x744:new_new_pr2F0G10(x741)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x742, x743, Neg(Succ(Succ(Succ(Succ(x741))))), x744)_>=_H(x742, x743, Succ(Succ(Succ(x741))), x744, anew_new_pr2F0G10(Succ(Succ(x741))))) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x741))))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Succ(Succ(x741))))), x530, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x741))))))) (5) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Succ(Zero)))), x530, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) (6) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Zero))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Zero))), x530, anew_new_pr2F0G10(Succ(Succ(Zero))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x742,x743,x744:new_new_pr2F0G10(x741)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x742, x743, Neg(Succ(Succ(Succ(Succ(x741))))), x744)_>=_H(x742, x743, Succ(Succ(Succ(x741))), x744, anew_new_pr2F0G10(Succ(Succ(x741))))) with sigma = [x742 / x527, x743 / x528, x744 / x530] which results in the following new constraint: (7) (new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(x741))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(x741))), x530, anew_new_pr2F0G10(Succ(Succ(x741)))) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x741))))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Succ(Succ(x741))))), x530, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x741))))))) We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: (8) (new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Zero))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Zero))), x530, anew_new_pr2F0G10(Succ(Succ(Zero))))) For Pair H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) the following chains were created: *We consider the chain H(x543, x544, x545, x546, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x543, x544, x545, Succ(Zero), x546), new_pr2F0G10(x547, x548, x549, Succ(Zero), x550) -> new_pr2F0G11(x547, x548, x549, x550) which results in the following constraint: (1) (new_pr2F0G10(x543, x544, x545, Succ(Zero), x546)=new_pr2F0G10(x547, x548, x549, Succ(Zero), x550) ==> H(x543, x544, x545, x546, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x543, x544, x545, Succ(Zero), x546)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x543, x544, x545, x546, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x543, x544, x545, Succ(Zero), x546)) For Pair H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) the following chains were created: *We consider the chain H(x607, x608, x609, x610, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x607, x608, x609, Zero, x610), new_pr2F0G10(x611, x612, x613, Zero, x614) -> new_pr2F0G(x611, new_sr3(x612, x614), Neg(new_primDivNatS1(Succ(x613), Succ(Zero))), x614) which results in the following constraint: (1) (new_pr2F0G10(x607, x608, x609, Zero, x610)=new_pr2F0G10(x611, x612, x613, Zero, x614) ==> H(x607, x608, x609, x610, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x607, x608, x609, Zero, x610)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x607, x608, x609, x610, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x607, x608, x609, Zero, x610)) To summarize, we get the following constraints P__>=_ for the following pairs. *new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) *(new_pr2F30(False, x4, x5, Pos(Succ(Zero)), x6, x7)_>=_new_pr2F0(x4, Neg(Succ(Succ(new_primPlusNat0(x5, Zero)))), new_sr4(x4, x6, x7), x7)) *(new_pr2F30(False, x36, x37, Pos(Succ(Zero)), x38, x39)_>=_new_pr2F0(x36, Neg(Succ(Succ(new_primPlusNat0(x37, Zero)))), new_sr4(x36, x38, x39), x39)) *new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) *(new_pr2F0(x64, Neg(Succ(Succ(Succ(Zero)))), x66, x67)_>=_new_pr2F0G10(x66, x64, Succ(Succ(Zero)), Succ(Zero), x67)) *(new_pr2F0(x80, Neg(Succ(Succ(Zero))), x82, x83)_>=_new_pr2F0G10(x82, x80, Succ(Zero), Zero, x83)) *new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) *(new_pr2F0G10(x124, x125, x126, Succ(Zero), x127)_>=_new_pr2F0G11(x124, x125, x126, x127)) *new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) *(new_pr2F0G11(x180, x181, x182, x183)_>=_new_pr2F1(x181, x182, Pos(Succ(Zero)), x180, x183)) *new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) *(new_pr2F1(x216, x217, Pos(Succ(Zero)), x218, x219)_>=_new_pr2F30(False, x216, x217, Pos(Succ(Zero)), x218, x219)) *new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) *(new_pr2F0G10(x292, x293, Succ(Zero), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x295)) *(new_pr2F0G10(x292, x293, Succ(Succ(x650)), Zero, x295)_>=_new_pr2F0G(x292, new_sr3(x293, x295), Neg(new_primDivNatS1(Succ(Succ(Succ(x650))), Succ(Zero))), x295)) *(new_pr2F0G10(x299, x300, Succ(Zero), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x302)) *(new_pr2F0G10(x299, x300, Succ(Succ(x678)), Zero, x302)_>=_new_pr2F0G(x299, new_sr3(x300, x302), Neg(new_primDivNatS1(Succ(Succ(Succ(x678))), Succ(Zero))), x302)) *(new_pr2F0G10(x311, x312, Succ(Zero), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x314)) *(new_pr2F0G10(x311, x312, Succ(Succ(x707)), Zero, x314)_>=_new_pr2F0G(x311, new_sr3(x312, x314), Neg(new_primDivNatS1(Succ(Succ(Succ(x707))), Succ(Zero))), x314)) *new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) *(new_pr2F0G(x336, x337, Neg(Succ(Zero)), x338)_>=_new_pr2F0G11(x336, x337, Zero, x338)) *new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) *(new_pr2F0G(x375, x376, Neg(Succ(Succ(Succ(Zero)))), x378)_>=_new_pr2F0G10(x375, x376, Succ(Succ(Zero)), Succ(Zero), x378)) *(new_pr2F0G(x391, x392, Neg(Succ(Succ(Zero))), x394)_>=_new_pr2F0G10(x391, x392, Succ(Zero), Zero, x394)) *new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) *(new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(x726))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(x726))), x466, anew_new_pr2F0G10(Succ(Succ(x726)))) ==> new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x726))))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Succ(Succ(x726))))), x466, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x726))))))) *(new_pr2F0(x463, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x465, x466)_>=_H(x465, x463, Succ(Succ(Succ(Succ(Zero)))), x466, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) *(new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(x731))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(x731))), x474, anew_new_pr2F0G10(Succ(Succ(x731)))) ==> new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x731))))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Succ(Succ(x731))))), x474, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x731))))))) *(new_pr2F0(x471, Neg(Succ(Succ(Succ(Succ(Zero))))), x473, x474)_>=_H(x473, x471, Succ(Succ(Succ(Zero))), x474, anew_new_pr2F0G10(Succ(Succ(Zero))))) *new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) *(new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(x736))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(x736))), x522, anew_new_pr2F0G10(Succ(Succ(x736)))) ==> new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x736))))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Succ(Succ(x736))))), x522, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x736))))))) *(new_pr2F0G(x519, x520, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x522)_>=_H(x519, x520, Succ(Succ(Succ(Succ(Zero)))), x522, anew_new_pr2F0G10(Succ(Succ(Succ(Zero)))))) *(new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(x741))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(x741))), x530, anew_new_pr2F0G10(Succ(Succ(x741)))) ==> new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x741))))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Succ(Succ(x741))))), x530, anew_new_pr2F0G10(Succ(Succ(Succ(Succ(x741))))))) *(new_pr2F0G(x527, x528, Neg(Succ(Succ(Succ(Succ(Zero))))), x530)_>=_H(x527, x528, Succ(Succ(Succ(Zero))), x530, anew_new_pr2F0G10(Succ(Succ(Zero))))) *H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) *(H(x543, x544, x545, x546, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x543, x544, x545, Succ(Zero), x546)) *H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) *(H(x607, x608, x609, x610, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x607, x608, x609, Zero, x610)) 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. ---------------------------------------- (822) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (823) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) -> new_pr2F0G(vyv248, new_sr3(vyv249, bb), Neg(new_primDivNatS1(Succ(vyv250), Succ(Zero))), bb) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Zero, Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Zero), y3),new_pr2F0G10(y0, y1, Zero, Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Zero), y3)) (new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(x0, Zero, x0, Zero)), y3),new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(x0, Zero, x0, Zero)), y3)) ---------------------------------------- (824) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G10(y0, y1, Zero, Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Zero), y3) new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(x0, Zero, x0, Zero)), y3) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (825) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (826) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(x0, Zero, x0, Zero)), y3) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (827) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) at position [4] we obtained the following new rules [LPAR04]: (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0))) ---------------------------------------- (828) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(x0, Zero, x0, Zero)), y3) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (829) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(x0), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS02(x0, Zero, x0, Zero)), y3) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Zero, Zero)), y3),new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Zero, Zero)), y3)) (new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Succ(x2), Zero)), y3),new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Succ(x2), Zero)), y3)) ---------------------------------------- (830) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Zero, Zero)), y3) new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Succ(x2), Zero)), y3) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (831) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Zero, Zero)), y3) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3),new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3)) ---------------------------------------- (832) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Succ(x2), Zero)), y3) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (833) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(new_primDivNatS01(Succ(x2), Zero)), y3) at position [2,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3),new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3)) ---------------------------------------- (834) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3) new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (835) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), y3) at position [2,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3),new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3)) ---------------------------------------- (836) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (837) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), y3) at position [2,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3),new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3)) ---------------------------------------- (838) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3) new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (839) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Zero, Succ(Zero)))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3),new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3)) ---------------------------------------- (840) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (841) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G10(vyv222000)) at position [4] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0))) ---------------------------------------- (842) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) The TRS R consists of the following rules: new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) anew_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (843) 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. ---------------------------------------- (844) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) anew_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (845) 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]. anew_new_pr2F0G10(Succ(Succ(x0))) ---------------------------------------- (846) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (847) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) at position [4] we obtained the following new rules [LPAR04]: (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0))) (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero)))) (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero))) ---------------------------------------- (848) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (849) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(x2)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS1(Succ(x2), Succ(Zero)))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3),new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3)) (new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(x0, Zero, x0, Zero))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(x0, Zero, x0, Zero))), y3)) ---------------------------------------- (850) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(x0, Zero, x0, Zero))), y3) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (851) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(x0))))), y3) -> H(y0, y1, Succ(Succ(Succ(x0))), y3, new_new_pr2F0G10(x0)) at position [4] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0))) (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero)))) (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero))) ---------------------------------------- (852) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(x0, Zero, x0, Zero))), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (853) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) at position [4] we obtained the following new rules [LPAR04]: (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0))) (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero)))) (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero))) ---------------------------------------- (854) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(x0, Zero, x0, Zero))), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (855) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(Succ(x0))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS02(x0, Zero, x0, Zero))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Zero, Zero))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Zero, Zero))), y3)) (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Succ(x2), Zero))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Succ(x2), Zero))), y3)) ---------------------------------------- (856) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Zero, Zero))), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Succ(x2), Zero))), y3) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (857) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Zero, Zero))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), y3)) ---------------------------------------- (858) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Succ(x2), Zero))), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), y3) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (859) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(new_primDivNatS01(Succ(x2), Zero))), y3) at position [2,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), y3)) ---------------------------------------- (860) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), y3) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (861) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), y3) at position [2,0,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Zero, Succ(Zero))))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Zero, Succ(Zero))))), y3)) ---------------------------------------- (862) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Zero, Succ(Zero))))), y3) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (863) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), y3) at position [2,0,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3)) ---------------------------------------- (864) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Zero, Succ(Zero))))), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (865) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Zero, Succ(Zero))))), y3) at position [2,0,0,0] we obtained the following new rules [LPAR04]: (new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3),new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3)) ---------------------------------------- (866) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (867) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(x0))))), y3, new_new_pr2F0G10(x0)) at position [4] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0))) (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero)))) (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero))) ---------------------------------------- (868) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (869) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) at position [4] we obtained the following new rules [LPAR04]: (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0))) (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero)))) (new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)),new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero))) ---------------------------------------- (870) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (871) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), y3, new_new_pr2F0G10(x0)) at position [4] we obtained the following new rules [LPAR04]: (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0))) (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero)))) (new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)),new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero))) ---------------------------------------- (872) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (873) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (874) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (875) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: *We consider the chain new_pr2F0(x4, Neg(Succ(Succ(x5))), x6, x7) -> new_pr2F0G10(x6, x4, Succ(x5), x5, x7), new_pr2F0G10(x8, x9, x10, Succ(Zero), x11) -> new_pr2F0G11(x8, x9, x10, x11) which results in the following constraint: (1) (new_pr2F0G10(x6, x4, Succ(x5), x5, x7)=new_pr2F0G10(x8, x9, x10, Succ(Zero), x11) ==> new_pr2F0(x4, Neg(Succ(Succ(x5))), x6, x7)_>=_new_pr2F0G10(x6, x4, Succ(x5), x5, x7)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0(x4, Neg(Succ(Succ(Succ(Zero)))), x6, x7)_>=_new_pr2F0G10(x6, x4, Succ(Succ(Zero)), Succ(Zero), x7)) *We consider the chain new_pr2F0(x40, Neg(Succ(Succ(x41))), x42, x43) -> new_pr2F0G10(x42, x40, Succ(x41), x41, x43), new_pr2F0G10(x44, x45, Succ(Zero), Zero, x46) -> new_pr2F0G(x44, new_sr3(x45, x46), Neg(Succ(Zero)), x46) which results in the following constraint: (1) (new_pr2F0G10(x42, x40, Succ(x41), x41, x43)=new_pr2F0G10(x44, x45, Succ(Zero), Zero, x46) ==> new_pr2F0(x40, Neg(Succ(Succ(x41))), x42, x43)_>=_new_pr2F0G10(x42, x40, Succ(x41), x41, x43)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0(x40, Neg(Succ(Succ(Zero))), x42, x43)_>=_new_pr2F0G10(x42, x40, Succ(Zero), Zero, x43)) For Pair new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) the following chains were created: *We consider the chain new_pr2F0G10(x123, x124, x125, Succ(Zero), x126) -> new_pr2F0G11(x123, x124, x125, x126), new_pr2F0G11(x127, x128, x129, x130) -> new_pr2F1(x128, x129, Pos(Succ(Zero)), x127, x130) which results in the following constraint: (1) (new_pr2F0G11(x123, x124, x125, x126)=new_pr2F0G11(x127, x128, x129, x130) ==> new_pr2F0G10(x123, x124, x125, Succ(Zero), x126)_>=_new_pr2F0G11(x123, x124, x125, x126)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G10(x123, x124, x125, Succ(Zero), x126)_>=_new_pr2F0G11(x123, x124, x125, x126)) For Pair new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) the following chains were created: *We consider the chain new_pr2F0G11(x239, x240, x241, x242) -> new_pr2F1(x240, x241, Pos(Succ(Zero)), x239, x242), new_pr2F1(x243, x244, Pos(Succ(Zero)), x245, x246) -> new_pr2F30(False, x243, x244, Pos(Succ(Zero)), x245, x246) which results in the following constraint: (1) (new_pr2F1(x240, x241, Pos(Succ(Zero)), x239, x242)=new_pr2F1(x243, x244, Pos(Succ(Zero)), x245, x246) ==> new_pr2F0G11(x239, x240, x241, x242)_>=_new_pr2F1(x240, x241, Pos(Succ(Zero)), x239, x242)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G11(x239, x240, x241, x242)_>=_new_pr2F1(x240, x241, Pos(Succ(Zero)), x239, x242)) For Pair new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) the following chains were created: *We consider the chain new_pr2F1(x355, x356, Pos(Succ(Zero)), x357, x358) -> new_pr2F30(False, x355, x356, Pos(Succ(Zero)), x357, x358), new_pr2F30(False, x359, x360, Pos(Succ(Zero)), x361, x362) -> new_pr2F0(x359, Neg(Succ(Succ(new_primPlusNat0(x360, Zero)))), new_sr4(x359, x361, x362), x362) which results in the following constraint: (1) (new_pr2F30(False, x355, x356, Pos(Succ(Zero)), x357, x358)=new_pr2F30(False, x359, x360, Pos(Succ(Zero)), x361, x362) ==> new_pr2F1(x355, x356, Pos(Succ(Zero)), x357, x358)_>=_new_pr2F30(False, x355, x356, Pos(Succ(Zero)), x357, x358)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F1(x355, x356, Pos(Succ(Zero)), x357, x358)_>=_new_pr2F30(False, x355, x356, Pos(Succ(Zero)), x357, x358)) For Pair new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) the following chains were created: *We consider the chain new_pr2F30(False, x451, x452, Pos(Succ(Zero)), x453, x454) -> new_pr2F0(x451, Neg(Succ(Succ(new_primPlusNat0(x452, Zero)))), new_sr4(x451, x453, x454), x454), new_pr2F0(x455, Neg(Succ(Succ(x456))), x457, x458) -> new_pr2F0G10(x457, x455, Succ(x456), x456, x458) which results in the following constraint: (1) (new_pr2F0(x451, Neg(Succ(Succ(new_primPlusNat0(x452, Zero)))), new_sr4(x451, x453, x454), x454)=new_pr2F0(x455, Neg(Succ(Succ(x456))), x457, x458) ==> new_pr2F30(False, x451, x452, Pos(Succ(Zero)), x453, x454)_>=_new_pr2F0(x451, Neg(Succ(Succ(new_primPlusNat0(x452, Zero)))), new_sr4(x451, x453, x454), x454)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F30(False, x451, x452, Pos(Succ(Zero)), x453, x454)_>=_new_pr2F0(x451, Neg(Succ(Succ(new_primPlusNat0(x452, Zero)))), new_sr4(x451, x453, x454), x454)) *We consider the chain new_pr2F30(False, x495, x496, Pos(Succ(Zero)), x497, x498) -> new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(x496, Zero)))), new_sr4(x495, x497, x498), x498), new_pr2F0(x499, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x500, x501) -> H(x500, x499, Succ(Succ(Succ(Succ(Zero)))), x501, cons_new_pr2F0G10(Succ(Zero))) which results in the following constraint: (1) (new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(x496, Zero)))), new_sr4(x495, x497, x498), x498)=new_pr2F0(x499, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x500, x501) ==> new_pr2F30(False, x495, x496, Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(x496, Zero)))), new_sr4(x495, x497, x498), x498)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x2657 & new_primPlusNat0(x496, x2657)=Succ(Succ(Succ(Zero))) ==> new_pr2F30(False, x495, x496, Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(x496, Zero)))), new_sr4(x495, x497, x498), x498)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x496, x2657)=Succ(Succ(Succ(Zero))) which results in the following new constraints: (3) (Succ(Succ(new_primPlusNat0(x2659, x2658)))=Succ(Succ(Succ(Zero))) & Zero=Succ(x2658) & (\/x2660,x2661,x2662:new_primPlusNat0(x2659, x2658)=Succ(Succ(Succ(Zero))) & Zero=x2658 ==> new_pr2F30(False, x2660, x2659, Pos(Succ(Zero)), x2661, x2662)_>=_new_pr2F0(x2660, Neg(Succ(Succ(new_primPlusNat0(x2659, Zero)))), new_sr4(x2660, x2661, x2662), x2662)) ==> new_pr2F30(False, x495, Succ(x2659), Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(Succ(x2659), Zero)))), new_sr4(x495, x497, x498), x498)) (4) (Succ(x2663)=Succ(Succ(Succ(Zero))) & Zero=Succ(x2663) ==> new_pr2F30(False, x495, Zero, Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x495, x497, x498), x498)) (5) (Succ(x2664)=Succ(Succ(Succ(Zero))) & Zero=Zero ==> new_pr2F30(False, x495, Succ(x2664), Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(Succ(x2664), Zero)))), new_sr4(x495, x497, x498), x498)) We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: (6) (new_pr2F30(False, x495, Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Zero))), Zero)))), new_sr4(x495, x497, x498), x498)) *We consider the chain new_pr2F30(False, x502, x503, Pos(Succ(Zero)), x504, x505) -> new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(x503, Zero)))), new_sr4(x502, x504, x505), x505), new_pr2F0(x506, Neg(Succ(Succ(Succ(Succ(Zero))))), x507, x508) -> H(x507, x506, Succ(Succ(Succ(Zero))), x508, cons_new_pr2F0G10(Zero)) which results in the following constraint: (1) (new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(x503, Zero)))), new_sr4(x502, x504, x505), x505)=new_pr2F0(x506, Neg(Succ(Succ(Succ(Succ(Zero))))), x507, x508) ==> new_pr2F30(False, x502, x503, Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(x503, Zero)))), new_sr4(x502, x504, x505), x505)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x2665 & new_primPlusNat0(x503, x2665)=Succ(Succ(Zero)) ==> new_pr2F30(False, x502, x503, Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(x503, Zero)))), new_sr4(x502, x504, x505), x505)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x503, x2665)=Succ(Succ(Zero)) which results in the following new constraints: (3) (Succ(Succ(new_primPlusNat0(x2667, x2666)))=Succ(Succ(Zero)) & Zero=Succ(x2666) & (\/x2668,x2669,x2670:new_primPlusNat0(x2667, x2666)=Succ(Succ(Zero)) & Zero=x2666 ==> new_pr2F30(False, x2668, x2667, Pos(Succ(Zero)), x2669, x2670)_>=_new_pr2F0(x2668, Neg(Succ(Succ(new_primPlusNat0(x2667, Zero)))), new_sr4(x2668, x2669, x2670), x2670)) ==> new_pr2F30(False, x502, Succ(x2667), Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(Succ(x2667), Zero)))), new_sr4(x502, x504, x505), x505)) (4) (Succ(x2671)=Succ(Succ(Zero)) & Zero=Succ(x2671) ==> new_pr2F30(False, x502, Zero, Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x502, x504, x505), x505)) (5) (Succ(x2672)=Succ(Succ(Zero)) & Zero=Zero ==> new_pr2F30(False, x502, Succ(x2672), Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(Succ(x2672), Zero)))), new_sr4(x502, x504, x505), x505)) We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: (6) (new_pr2F30(False, x502, Succ(Succ(Zero)), Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Zero)), Zero)))), new_sr4(x502, x504, x505), x505)) *We consider the chain new_pr2F30(False, x521, x522, Pos(Succ(Zero)), x523, x524) -> new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(x522, Zero)))), new_sr4(x521, x523, x524), x524), new_pr2F0(x525, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x526, x527) -> H(x526, x525, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x527, cons_new_pr2F0G10(Succ(Zero))) which results in the following constraint: (1) (new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(x522, Zero)))), new_sr4(x521, x523, x524), x524)=new_pr2F0(x525, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x526, x527) ==> new_pr2F30(False, x521, x522, Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(x522, Zero)))), new_sr4(x521, x523, x524), x524)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x2673 & new_primPlusNat0(x522, x2673)=Succ(Succ(Succ(Succ(Succ(Zero))))) ==> new_pr2F30(False, x521, x522, Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(x522, Zero)))), new_sr4(x521, x523, x524), x524)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x522, x2673)=Succ(Succ(Succ(Succ(Succ(Zero))))) which results in the following new constraints: (3) (Succ(Succ(new_primPlusNat0(x2675, x2674)))=Succ(Succ(Succ(Succ(Succ(Zero))))) & Zero=Succ(x2674) & (\/x2676,x2677,x2678:new_primPlusNat0(x2675, x2674)=Succ(Succ(Succ(Succ(Succ(Zero))))) & Zero=x2674 ==> new_pr2F30(False, x2676, x2675, Pos(Succ(Zero)), x2677, x2678)_>=_new_pr2F0(x2676, Neg(Succ(Succ(new_primPlusNat0(x2675, Zero)))), new_sr4(x2676, x2677, x2678), x2678)) ==> new_pr2F30(False, x521, Succ(x2675), Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(Succ(x2675), Zero)))), new_sr4(x521, x523, x524), x524)) (4) (Succ(x2679)=Succ(Succ(Succ(Succ(Succ(Zero))))) & Zero=Succ(x2679) ==> new_pr2F30(False, x521, Zero, Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x521, x523, x524), x524)) (5) (Succ(x2680)=Succ(Succ(Succ(Succ(Succ(Zero))))) & Zero=Zero ==> new_pr2F30(False, x521, Succ(x2680), Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(Succ(x2680), Zero)))), new_sr4(x521, x523, x524), x524)) We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: (6) (new_pr2F30(False, x521, Succ(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Zero))))), Zero)))), new_sr4(x521, x523, x524), x524)) *We consider the chain new_pr2F30(False, x528, x529, Pos(Succ(Zero)), x530, x531) -> new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(x529, Zero)))), new_sr4(x528, x530, x531), x531), new_pr2F0(x532, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x533, x534) -> H(x533, x532, Succ(Succ(Succ(Succ(Succ(Zero))))), x534, cons_new_pr2F0G10(Zero)) which results in the following constraint: (1) (new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(x529, Zero)))), new_sr4(x528, x530, x531), x531)=new_pr2F0(x532, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x533, x534) ==> new_pr2F30(False, x528, x529, Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(x529, Zero)))), new_sr4(x528, x530, x531), x531)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x2681 & new_primPlusNat0(x529, x2681)=Succ(Succ(Succ(Succ(Zero)))) ==> new_pr2F30(False, x528, x529, Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(x529, Zero)))), new_sr4(x528, x530, x531), x531)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x529, x2681)=Succ(Succ(Succ(Succ(Zero)))) which results in the following new constraints: (3) (Succ(Succ(new_primPlusNat0(x2683, x2682)))=Succ(Succ(Succ(Succ(Zero)))) & Zero=Succ(x2682) & (\/x2684,x2685,x2686:new_primPlusNat0(x2683, x2682)=Succ(Succ(Succ(Succ(Zero)))) & Zero=x2682 ==> new_pr2F30(False, x2684, x2683, Pos(Succ(Zero)), x2685, x2686)_>=_new_pr2F0(x2684, Neg(Succ(Succ(new_primPlusNat0(x2683, Zero)))), new_sr4(x2684, x2685, x2686), x2686)) ==> new_pr2F30(False, x528, Succ(x2683), Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(Succ(x2683), Zero)))), new_sr4(x528, x530, x531), x531)) (4) (Succ(x2687)=Succ(Succ(Succ(Succ(Zero)))) & Zero=Succ(x2687) ==> new_pr2F30(False, x528, Zero, Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x528, x530, x531), x531)) (5) (Succ(x2688)=Succ(Succ(Succ(Succ(Zero)))) & Zero=Zero ==> new_pr2F30(False, x528, Succ(x2688), Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(Succ(x2688), Zero)))), new_sr4(x528, x530, x531), x531)) We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: (6) (new_pr2F30(False, x528, Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Zero)))), Zero)))), new_sr4(x528, x530, x531), x531)) *We consider the chain new_pr2F30(False, x551, x552, Pos(Succ(Zero)), x553, x554) -> new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(x552, Zero)))), new_sr4(x551, x553, x554), x554), new_pr2F0(x555, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556))))))))))), x557, x558) -> H(x557, x555, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556))))))))), x558, new_new_pr2F0G10(x556)) which results in the following constraint: (1) (new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(x552, Zero)))), new_sr4(x551, x553, x554), x554)=new_pr2F0(x555, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556))))))))))), x557, x558) ==> new_pr2F30(False, x551, x552, Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(x552, Zero)))), new_sr4(x551, x553, x554), x554)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x2689 & new_primPlusNat0(x552, x2689)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))) ==> new_pr2F30(False, x551, x552, Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(x552, Zero)))), new_sr4(x551, x553, x554), x554)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x552, x2689)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))) which results in the following new constraints: (3) (Succ(Succ(new_primPlusNat0(x2691, x2690)))=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))) & Zero=Succ(x2690) & (\/x2692,x2693,x2694,x2695:new_primPlusNat0(x2691, x2690)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2692)))))))) & Zero=x2690 ==> new_pr2F30(False, x2693, x2691, Pos(Succ(Zero)), x2694, x2695)_>=_new_pr2F0(x2693, Neg(Succ(Succ(new_primPlusNat0(x2691, Zero)))), new_sr4(x2693, x2694, x2695), x2695)) ==> new_pr2F30(False, x551, Succ(x2691), Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(Succ(x2691), Zero)))), new_sr4(x551, x553, x554), x554)) (4) (Succ(x2696)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))) & Zero=Succ(x2696) ==> new_pr2F30(False, x551, Zero, Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x551, x553, x554), x554)) (5) (Succ(x2697)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))) & Zero=Zero ==> new_pr2F30(False, x551, Succ(x2697), Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(Succ(x2697), Zero)))), new_sr4(x551, x553, x554), x554)) We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: (6) (new_pr2F30(False, x551, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))), Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))), Zero)))), new_sr4(x551, x553, x554), x554)) *We consider the chain new_pr2F30(False, x559, x560, Pos(Succ(Zero)), x561, x562) -> new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(x560, Zero)))), new_sr4(x559, x561, x562), x562), new_pr2F0(x563, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x564, x565) -> H(x564, x563, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x565, cons_new_pr2F0G10(Succ(Zero))) which results in the following constraint: (1) (new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(x560, Zero)))), new_sr4(x559, x561, x562), x562)=new_pr2F0(x563, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x564, x565) ==> new_pr2F30(False, x559, x560, Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(x560, Zero)))), new_sr4(x559, x561, x562), x562)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x2698 & new_primPlusNat0(x560, x2698)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) ==> new_pr2F30(False, x559, x560, Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(x560, Zero)))), new_sr4(x559, x561, x562), x562)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x560, x2698)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) which results in the following new constraints: (3) (Succ(Succ(new_primPlusNat0(x2700, x2699)))=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Zero=Succ(x2699) & (\/x2701,x2702,x2703:new_primPlusNat0(x2700, x2699)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Zero=x2699 ==> new_pr2F30(False, x2701, x2700, Pos(Succ(Zero)), x2702, x2703)_>=_new_pr2F0(x2701, Neg(Succ(Succ(new_primPlusNat0(x2700, Zero)))), new_sr4(x2701, x2702, x2703), x2703)) ==> new_pr2F30(False, x559, Succ(x2700), Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(Succ(x2700), Zero)))), new_sr4(x559, x561, x562), x562)) (4) (Succ(x2704)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Zero=Succ(x2704) ==> new_pr2F30(False, x559, Zero, Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x559, x561, x562), x562)) (5) (Succ(x2705)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Zero=Zero ==> new_pr2F30(False, x559, Succ(x2705), Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(Succ(x2705), Zero)))), new_sr4(x559, x561, x562), x562)) We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: (6) (new_pr2F30(False, x559, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), Zero)))), new_sr4(x559, x561, x562), x562)) *We consider the chain new_pr2F30(False, x566, x567, Pos(Succ(Zero)), x568, x569) -> new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(x567, Zero)))), new_sr4(x566, x568, x569), x569), new_pr2F0(x570, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x571, x572) -> H(x571, x570, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x572, cons_new_pr2F0G10(Zero)) which results in the following constraint: (1) (new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(x567, Zero)))), new_sr4(x566, x568, x569), x569)=new_pr2F0(x570, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x571, x572) ==> new_pr2F30(False, x566, x567, Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(x567, Zero)))), new_sr4(x566, x568, x569), x569)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Zero=x2706 & new_primPlusNat0(x567, x2706)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) ==> new_pr2F30(False, x566, x567, Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(x567, Zero)))), new_sr4(x566, x568, x569), x569)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat0(x567, x2706)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) which results in the following new constraints: (3) (Succ(Succ(new_primPlusNat0(x2708, x2707)))=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Zero=Succ(x2707) & (\/x2709,x2710,x2711:new_primPlusNat0(x2708, x2707)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Zero=x2707 ==> new_pr2F30(False, x2709, x2708, Pos(Succ(Zero)), x2710, x2711)_>=_new_pr2F0(x2709, Neg(Succ(Succ(new_primPlusNat0(x2708, Zero)))), new_sr4(x2709, x2710, x2711), x2711)) ==> new_pr2F30(False, x566, Succ(x2708), Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(Succ(x2708), Zero)))), new_sr4(x566, x568, x569), x569)) (4) (Succ(x2712)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Zero=Succ(x2712) ==> new_pr2F30(False, x566, Zero, Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(Zero, Zero)))), new_sr4(x566, x568, x569), x569)) (5) (Succ(x2713)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Zero=Zero ==> new_pr2F30(False, x566, Succ(x2713), Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(Succ(x2713), Zero)))), new_sr4(x566, x568, x569), x569)) We solved constraint (3) using rules (I), (II).We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III) which results in the following new constraint: (6) (new_pr2F30(False, x566, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero)))), new_sr4(x566, x568, x569), x569)) For Pair H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) the following chains were created: *We consider the chain H(x589, x590, x591, x592, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x589, x590, x591, Succ(Zero), x592), new_pr2F0G10(x593, x594, x595, Succ(Zero), x596) -> new_pr2F0G11(x593, x594, x595, x596) which results in the following constraint: (1) (new_pr2F0G10(x589, x590, x591, Succ(Zero), x592)=new_pr2F0G10(x593, x594, x595, Succ(Zero), x596) ==> H(x589, x590, x591, x592, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x589, x590, x591, Succ(Zero), x592)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x589, x590, x591, x592, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x589, x590, x591, Succ(Zero), x592)) For Pair H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) the following chains were created: *We consider the chain H(x733, x734, x735, x736, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x733, x734, x735, Zero, x736), new_pr2F0G10(x737, x738, Succ(Zero), Zero, x739) -> new_pr2F0G(x737, new_sr3(x738, x739), Neg(Succ(Zero)), x739) which results in the following constraint: (1) (new_pr2F0G10(x733, x734, x735, Zero, x736)=new_pr2F0G10(x737, x738, Succ(Zero), Zero, x739) ==> H(x733, x734, x735, x736, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x733, x734, x735, Zero, x736)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (H(x733, x734, Succ(Zero), x736, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x733, x734, Succ(Zero), Zero, x736)) *We consider the chain H(x748, x749, x750, x751, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x748, x749, x750, Zero, x751), new_pr2F0G10(x752, x753, Succ(Succ(Zero)), Zero, x754) -> new_pr2F0G(x752, new_sr3(x753, x754), Neg(Succ(Zero)), x754) which results in the following constraint: (1) (new_pr2F0G10(x748, x749, x750, Zero, x751)=new_pr2F0G10(x752, x753, Succ(Succ(Zero)), Zero, x754) ==> H(x748, x749, x750, x751, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x748, x749, x750, Zero, x751)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (H(x748, x749, Succ(Succ(Zero)), x751, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x748, x749, Succ(Succ(Zero)), Zero, x751)) *We consider the chain H(x771, x772, x773, x774, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x771, x772, x773, Zero, x774), new_pr2F0G10(x775, x776, Succ(Succ(Succ(Succ(x777)))), Zero, x778) -> new_pr2F0G(x775, new_sr3(x776, x778), Neg(Succ(Succ(new_primDivNatS1(Succ(x777), Succ(Zero))))), x778) which results in the following constraint: (1) (new_pr2F0G10(x771, x772, x773, Zero, x774)=new_pr2F0G10(x775, x776, Succ(Succ(Succ(Succ(x777)))), Zero, x778) ==> H(x771, x772, x773, x774, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x771, x772, x773, Zero, x774)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (H(x771, x772, Succ(Succ(Succ(Succ(x777)))), x774, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x771, x772, Succ(Succ(Succ(Succ(x777)))), Zero, x774)) *We consider the chain H(x779, x780, x781, x782, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x779, x780, x781, Zero, x782), new_pr2F0G10(x783, x784, Succ(Succ(Succ(Zero))), Zero, x785) -> new_pr2F0G(x783, new_sr3(x784, x785), Neg(Succ(Succ(Zero))), x785) which results in the following constraint: (1) (new_pr2F0G10(x779, x780, x781, Zero, x782)=new_pr2F0G10(x783, x784, Succ(Succ(Succ(Zero))), Zero, x785) ==> H(x779, x780, x781, x782, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x779, x780, x781, Zero, x782)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (H(x779, x780, Succ(Succ(Succ(Zero))), x782, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x779, x780, Succ(Succ(Succ(Zero))), Zero, x782)) For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) the following chains were created: *We consider the chain new_pr2F0G(x824, x825, Neg(Succ(Zero)), x826) -> new_pr2F0G11(x824, x825, Zero, x826), new_pr2F0G11(x827, x828, x829, x830) -> new_pr2F1(x828, x829, Pos(Succ(Zero)), x827, x830) which results in the following constraint: (1) (new_pr2F0G11(x824, x825, Zero, x826)=new_pr2F0G11(x827, x828, x829, x830) ==> new_pr2F0G(x824, x825, Neg(Succ(Zero)), x826)_>=_new_pr2F0G11(x824, x825, Zero, x826)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G(x824, x825, Neg(Succ(Zero)), x826)_>=_new_pr2F0G11(x824, x825, Zero, x826)) For Pair new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: *We consider the chain new_pr2F0G(x907, x908, Neg(Succ(Succ(x909))), x910) -> new_pr2F0G10(x907, x908, Succ(x909), x909, x910), new_pr2F0G10(x911, x912, x913, Succ(Zero), x914) -> new_pr2F0G11(x911, x912, x913, x914) which results in the following constraint: (1) (new_pr2F0G10(x907, x908, Succ(x909), x909, x910)=new_pr2F0G10(x911, x912, x913, Succ(Zero), x914) ==> new_pr2F0G(x907, x908, Neg(Succ(Succ(x909))), x910)_>=_new_pr2F0G10(x907, x908, Succ(x909), x909, x910)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G(x907, x908, Neg(Succ(Succ(Succ(Zero)))), x910)_>=_new_pr2F0G10(x907, x908, Succ(Succ(Zero)), Succ(Zero), x910)) *We consider the chain new_pr2F0G(x943, x944, Neg(Succ(Succ(x945))), x946) -> new_pr2F0G10(x943, x944, Succ(x945), x945, x946), new_pr2F0G10(x947, x948, Succ(Zero), Zero, x949) -> new_pr2F0G(x947, new_sr3(x948, x949), Neg(Succ(Zero)), x949) which results in the following constraint: (1) (new_pr2F0G10(x943, x944, Succ(x945), x945, x946)=new_pr2F0G10(x947, x948, Succ(Zero), Zero, x949) ==> new_pr2F0G(x943, x944, Neg(Succ(Succ(x945))), x946)_>=_new_pr2F0G10(x943, x944, Succ(x945), x945, x946)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G(x943, x944, Neg(Succ(Succ(Zero))), x946)_>=_new_pr2F0G10(x943, x944, Succ(Zero), Zero, x946)) For Pair new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) the following chains were created: *We consider the chain new_pr2F0G10(x1039, x1040, Succ(Zero), Zero, x1041) -> new_pr2F0G(x1039, new_sr3(x1040, x1041), Neg(Succ(Zero)), x1041), new_pr2F0G(x1042, x1043, Neg(Succ(Zero)), x1044) -> new_pr2F0G11(x1042, x1043, Zero, x1044) which results in the following constraint: (1) (new_pr2F0G(x1039, new_sr3(x1040, x1041), Neg(Succ(Zero)), x1041)=new_pr2F0G(x1042, x1043, Neg(Succ(Zero)), x1044) ==> new_pr2F0G10(x1039, x1040, Succ(Zero), Zero, x1041)_>=_new_pr2F0G(x1039, new_sr3(x1040, x1041), Neg(Succ(Zero)), x1041)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G10(x1039, x1040, Succ(Zero), Zero, x1041)_>=_new_pr2F0G(x1039, new_sr3(x1040, x1041), Neg(Succ(Zero)), x1041)) For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) the following chains were created: *We consider the chain new_pr2F0(x1117, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1118, x1119) -> H(x1118, x1117, Succ(Succ(Succ(Succ(Zero)))), x1119, cons_new_pr2F0G10(Succ(Zero))), H(x1120, x1121, x1122, x1123, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x1120, x1121, x1122, Succ(Zero), x1123) which results in the following constraint: (1) (H(x1118, x1117, Succ(Succ(Succ(Succ(Zero)))), x1119, cons_new_pr2F0G10(Succ(Zero)))=H(x1120, x1121, x1122, x1123, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0(x1117, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1118, x1119)_>=_H(x1118, x1117, Succ(Succ(Succ(Succ(Zero)))), x1119, cons_new_pr2F0G10(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x1117, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1118, x1119)_>=_H(x1118, x1117, Succ(Succ(Succ(Succ(Zero)))), x1119, cons_new_pr2F0G10(Succ(Zero)))) For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) the following chains were created: *We consider the chain new_pr2F0(x1205, Neg(Succ(Succ(Succ(Succ(Zero))))), x1206, x1207) -> H(x1206, x1205, Succ(Succ(Succ(Zero))), x1207, cons_new_pr2F0G10(Zero)), H(x1208, x1209, x1210, x1211, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x1208, x1209, x1210, Zero, x1211) which results in the following constraint: (1) (H(x1206, x1205, Succ(Succ(Succ(Zero))), x1207, cons_new_pr2F0G10(Zero))=H(x1208, x1209, x1210, x1211, cons_new_pr2F0G10(Zero)) ==> new_pr2F0(x1205, Neg(Succ(Succ(Succ(Succ(Zero))))), x1206, x1207)_>=_H(x1206, x1205, Succ(Succ(Succ(Zero))), x1207, cons_new_pr2F0G10(Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x1205, Neg(Succ(Succ(Succ(Succ(Zero))))), x1206, x1207)_>=_H(x1206, x1205, Succ(Succ(Succ(Zero))), x1207, cons_new_pr2F0G10(Zero))) For Pair new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) the following chains were created: *We consider the chain new_pr2F0G10(x1293, x1294, Succ(Succ(Zero)), Zero, x1295) -> new_pr2F0G(x1293, new_sr3(x1294, x1295), Neg(Succ(Zero)), x1295), new_pr2F0G(x1296, x1297, Neg(Succ(Zero)), x1298) -> new_pr2F0G11(x1296, x1297, Zero, x1298) which results in the following constraint: (1) (new_pr2F0G(x1293, new_sr3(x1294, x1295), Neg(Succ(Zero)), x1295)=new_pr2F0G(x1296, x1297, Neg(Succ(Zero)), x1298) ==> new_pr2F0G10(x1293, x1294, Succ(Succ(Zero)), Zero, x1295)_>=_new_pr2F0G(x1293, new_sr3(x1294, x1295), Neg(Succ(Zero)), x1295)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G10(x1293, x1294, Succ(Succ(Zero)), Zero, x1295)_>=_new_pr2F0G(x1293, new_sr3(x1294, x1295), Neg(Succ(Zero)), x1295)) For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) the following chains were created: *We consider the chain new_pr2F0G(x1371, x1372, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1373) -> H(x1371, x1372, Succ(Succ(Succ(Succ(Zero)))), x1373, cons_new_pr2F0G10(Succ(Zero))), H(x1374, x1375, x1376, x1377, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x1374, x1375, x1376, Succ(Zero), x1377) which results in the following constraint: (1) (H(x1371, x1372, Succ(Succ(Succ(Succ(Zero)))), x1373, cons_new_pr2F0G10(Succ(Zero)))=H(x1374, x1375, x1376, x1377, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0G(x1371, x1372, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1373)_>=_H(x1371, x1372, Succ(Succ(Succ(Succ(Zero)))), x1373, cons_new_pr2F0G10(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G(x1371, x1372, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1373)_>=_H(x1371, x1372, Succ(Succ(Succ(Succ(Zero)))), x1373, cons_new_pr2F0G10(Succ(Zero)))) For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) the following chains were created: *We consider the chain new_pr2F0G(x1459, x1460, Neg(Succ(Succ(Succ(Succ(Zero))))), x1461) -> H(x1459, x1460, Succ(Succ(Succ(Zero))), x1461, cons_new_pr2F0G10(Zero)), H(x1462, x1463, x1464, x1465, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x1462, x1463, x1464, Zero, x1465) which results in the following constraint: (1) (H(x1459, x1460, Succ(Succ(Succ(Zero))), x1461, cons_new_pr2F0G10(Zero))=H(x1462, x1463, x1464, x1465, cons_new_pr2F0G10(Zero)) ==> new_pr2F0G(x1459, x1460, Neg(Succ(Succ(Succ(Succ(Zero))))), x1461)_>=_H(x1459, x1460, Succ(Succ(Succ(Zero))), x1461, cons_new_pr2F0G10(Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G(x1459, x1460, Neg(Succ(Succ(Succ(Succ(Zero))))), x1461)_>=_H(x1459, x1460, Succ(Succ(Succ(Zero))), x1461, cons_new_pr2F0G10(Zero))) For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) the following chains were created: *We consider the chain new_pr2F0(x1541, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1542, x1543) -> H(x1542, x1541, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1543, cons_new_pr2F0G10(Succ(Zero))), H(x1544, x1545, x1546, x1547, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x1544, x1545, x1546, Succ(Zero), x1547) which results in the following constraint: (1) (H(x1542, x1541, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1543, cons_new_pr2F0G10(Succ(Zero)))=H(x1544, x1545, x1546, x1547, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0(x1541, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1542, x1543)_>=_H(x1542, x1541, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1543, cons_new_pr2F0G10(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x1541, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1542, x1543)_>=_H(x1542, x1541, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1543, cons_new_pr2F0G10(Succ(Zero)))) For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) the following chains were created: *We consider the chain new_pr2F0(x1629, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1630, x1631) -> H(x1630, x1629, Succ(Succ(Succ(Succ(Succ(Zero))))), x1631, cons_new_pr2F0G10(Zero)), H(x1632, x1633, x1634, x1635, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x1632, x1633, x1634, Zero, x1635) which results in the following constraint: (1) (H(x1630, x1629, Succ(Succ(Succ(Succ(Succ(Zero))))), x1631, cons_new_pr2F0G10(Zero))=H(x1632, x1633, x1634, x1635, cons_new_pr2F0G10(Zero)) ==> new_pr2F0(x1629, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1630, x1631)_>=_H(x1630, x1629, Succ(Succ(Succ(Succ(Succ(Zero))))), x1631, cons_new_pr2F0G10(Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x1629, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1630, x1631)_>=_H(x1630, x1629, Succ(Succ(Succ(Succ(Succ(Zero))))), x1631, cons_new_pr2F0G10(Zero))) For Pair new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) the following chains were created: *We consider the chain new_pr2F0G10(x1728, x1729, Succ(Succ(Succ(Succ(x1730)))), Zero, x1731) -> new_pr2F0G(x1728, new_sr3(x1729, x1731), Neg(Succ(Succ(new_primDivNatS1(Succ(x1730), Succ(Zero))))), x1731), new_pr2F0G(x1732, x1733, Neg(Succ(Succ(x1734))), x1735) -> new_pr2F0G10(x1732, x1733, Succ(x1734), x1734, x1735) which results in the following constraint: (1) (new_pr2F0G(x1728, new_sr3(x1729, x1731), Neg(Succ(Succ(new_primDivNatS1(Succ(x1730), Succ(Zero))))), x1731)=new_pr2F0G(x1732, x1733, Neg(Succ(Succ(x1734))), x1735) ==> new_pr2F0G10(x1728, x1729, Succ(Succ(Succ(Succ(x1730)))), Zero, x1731)_>=_new_pr2F0G(x1728, new_sr3(x1729, x1731), Neg(Succ(Succ(new_primDivNatS1(Succ(x1730), Succ(Zero))))), x1731)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G10(x1728, x1729, Succ(Succ(Succ(Succ(x1730)))), Zero, x1731)_>=_new_pr2F0G(x1728, new_sr3(x1729, x1731), Neg(Succ(Succ(new_primDivNatS1(Succ(x1730), Succ(Zero))))), x1731)) *We consider the chain new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(x1754)))), Zero, x1755) -> new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755), new_pr2F0G(x1756, x1757, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1758) -> H(x1756, x1757, Succ(Succ(Succ(Succ(Zero)))), x1758, cons_new_pr2F0G10(Succ(Zero))) which results in the following constraint: (1) (new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755)=new_pr2F0G(x1756, x1757, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1758) ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(x1754)))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x1754)=x2714 & Succ(Zero)=x2715 & new_primDivNatS1(x2714, x2715)=Succ(Succ(Succ(Zero))) ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(x1754)))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2714, x2715)=Succ(Succ(Succ(Zero))) which results in the following new constraints: (3) (new_primDivNatS02(x2718, x2717, x2718, x2717)=Succ(Succ(Succ(Zero))) & Succ(x1754)=Succ(Succ(x2718)) & Succ(Zero)=Succ(x2717) ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(x1754)))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2720), Zero))=Succ(Succ(Succ(Zero))) & Succ(x1754)=Succ(Succ(x2720)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(x1754)))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Succ(Zero))) & Succ(x1754)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(x1754)))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(x1754), Succ(Zero))))), x1755)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2718=x2721 & x2717=x2722 & new_primDivNatS02(x2718, x2717, x2721, x2722)=Succ(Succ(Succ(Zero))) & Zero=x2717 ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(x2718))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2718)), Succ(Zero))))), x1755)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2718, x2717, x2721, x2722)=Succ(Succ(Succ(Zero))) which results in the following new constraints: (7) (new_primDivNatS01(x2724, x2723)=Succ(Succ(Succ(Zero))) & x2724=Zero & x2723=Zero & Zero=x2723 ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(x2724))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2724)), Succ(Zero))))), x1755)) (8) (new_primDivNatS01(x2727, x2726)=Succ(Succ(Succ(Zero))) & x2727=Succ(x2725) & x2726=Zero & Zero=x2726 ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(x2727))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2727)), Succ(Zero))))), x1755)) (9) (new_primDivNatS02(x2734, x2733, x2732, x2731)=Succ(Succ(Succ(Zero))) & x2734=Succ(x2732) & x2733=Succ(x2731) & Zero=x2733 & (\/x2735,x2736,x2737:new_primDivNatS02(x2734, x2733, x2732, x2731)=Succ(Succ(Succ(Zero))) & x2734=x2732 & x2733=x2731 & Zero=x2733 ==> new_pr2F0G10(x2735, x2736, Succ(Succ(Succ(Succ(Succ(x2734))))), Zero, x2737)_>=_new_pr2F0G(x2735, new_sr3(x2736, x2737), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2734)), Succ(Zero))))), x2737)) ==> new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(x2734))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2734)), Succ(Zero))))), x1755)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1755)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(Succ(x2725)))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2725))), Succ(Zero))))), x1755)) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(x1761)))), Zero, x1762) -> new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762), new_pr2F0G(x1763, x1764, Neg(Succ(Succ(Succ(Succ(Zero))))), x1765) -> H(x1763, x1764, Succ(Succ(Succ(Zero))), x1765, cons_new_pr2F0G10(Zero)) which results in the following constraint: (1) (new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762)=new_pr2F0G(x1763, x1764, Neg(Succ(Succ(Succ(Succ(Zero))))), x1765) ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(x1761)))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x1761)=x2742 & Succ(Zero)=x2743 & new_primDivNatS1(x2742, x2743)=Succ(Succ(Zero)) ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(x1761)))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2742, x2743)=Succ(Succ(Zero)) which results in the following new constraints: (3) (new_primDivNatS02(x2746, x2745, x2746, x2745)=Succ(Succ(Zero)) & Succ(x1761)=Succ(Succ(x2746)) & Succ(Zero)=Succ(x2745) ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(x1761)))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2748), Zero))=Succ(Succ(Zero)) & Succ(x1761)=Succ(Succ(x2748)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(x1761)))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Zero)) & Succ(x1761)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(x1761)))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(x1761), Succ(Zero))))), x1762)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2746=x2749 & x2745=x2750 & new_primDivNatS02(x2746, x2745, x2749, x2750)=Succ(Succ(Zero)) & Zero=x2745 ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(x2746))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2746)), Succ(Zero))))), x1762)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2746, x2745, x2749, x2750)=Succ(Succ(Zero)) which results in the following new constraints: (7) (new_primDivNatS01(x2752, x2751)=Succ(Succ(Zero)) & x2752=Zero & x2751=Zero & Zero=x2751 ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(x2752))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2752)), Succ(Zero))))), x1762)) (8) (new_primDivNatS01(x2755, x2754)=Succ(Succ(Zero)) & x2755=Succ(x2753) & x2754=Zero & Zero=x2754 ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(x2755))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2755)), Succ(Zero))))), x1762)) (9) (new_primDivNatS02(x2762, x2761, x2760, x2759)=Succ(Succ(Zero)) & x2762=Succ(x2760) & x2761=Succ(x2759) & Zero=x2761 & (\/x2763,x2764,x2765:new_primDivNatS02(x2762, x2761, x2760, x2759)=Succ(Succ(Zero)) & x2762=x2760 & x2761=x2759 & Zero=x2761 ==> new_pr2F0G10(x2763, x2764, Succ(Succ(Succ(Succ(Succ(x2762))))), Zero, x2765)_>=_new_pr2F0G(x2763, new_sr3(x2764, x2765), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2762)), Succ(Zero))))), x2765)) ==> new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(x2762))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2762)), Succ(Zero))))), x1762)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1762)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(Succ(x2753)))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2753))), Succ(Zero))))), x1762)) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(x1784)))), Zero, x1785) -> new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785), new_pr2F0G(x1786, x1787, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1788) -> H(x1786, x1787, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1788, cons_new_pr2F0G10(Succ(Zero))) which results in the following constraint: (1) (new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785)=new_pr2F0G(x1786, x1787, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1788) ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(x1784)))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x1784)=x2770 & Succ(Zero)=x2771 & new_primDivNatS1(x2770, x2771)=Succ(Succ(Succ(Succ(Succ(Zero))))) ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(x1784)))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2770, x2771)=Succ(Succ(Succ(Succ(Succ(Zero))))) which results in the following new constraints: (3) (new_primDivNatS02(x2774, x2773, x2774, x2773)=Succ(Succ(Succ(Succ(Succ(Zero))))) & Succ(x1784)=Succ(Succ(x2774)) & Succ(Zero)=Succ(x2773) ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(x1784)))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2776), Zero))=Succ(Succ(Succ(Succ(Succ(Zero))))) & Succ(x1784)=Succ(Succ(x2776)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(x1784)))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Succ(Succ(Succ(Zero))))) & Succ(x1784)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(x1784)))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(x1784), Succ(Zero))))), x1785)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2774=x2777 & x2773=x2778 & new_primDivNatS02(x2774, x2773, x2777, x2778)=Succ(Succ(Succ(Succ(Succ(Zero))))) & Zero=x2773 ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(x2774))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2774)), Succ(Zero))))), x1785)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2774, x2773, x2777, x2778)=Succ(Succ(Succ(Succ(Succ(Zero))))) which results in the following new constraints: (7) (new_primDivNatS01(x2780, x2779)=Succ(Succ(Succ(Succ(Succ(Zero))))) & x2780=Zero & x2779=Zero & Zero=x2779 ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(x2780))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2780)), Succ(Zero))))), x1785)) (8) (new_primDivNatS01(x2783, x2782)=Succ(Succ(Succ(Succ(Succ(Zero))))) & x2783=Succ(x2781) & x2782=Zero & Zero=x2782 ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(x2783))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2783)), Succ(Zero))))), x1785)) (9) (new_primDivNatS02(x2790, x2789, x2788, x2787)=Succ(Succ(Succ(Succ(Succ(Zero))))) & x2790=Succ(x2788) & x2789=Succ(x2787) & Zero=x2789 & (\/x2791,x2792,x2793:new_primDivNatS02(x2790, x2789, x2788, x2787)=Succ(Succ(Succ(Succ(Succ(Zero))))) & x2790=x2788 & x2789=x2787 & Zero=x2789 ==> new_pr2F0G10(x2791, x2792, Succ(Succ(Succ(Succ(Succ(x2790))))), Zero, x2793)_>=_new_pr2F0G(x2791, new_sr3(x2792, x2793), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2790)), Succ(Zero))))), x2793)) ==> new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(x2790))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2790)), Succ(Zero))))), x1785)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1785)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(Succ(x2781)))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2781))), Succ(Zero))))), x1785)) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(x1791)))), Zero, x1792) -> new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792), new_pr2F0G(x1793, x1794, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1795) -> H(x1793, x1794, Succ(Succ(Succ(Succ(Succ(Zero))))), x1795, cons_new_pr2F0G10(Zero)) which results in the following constraint: (1) (new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792)=new_pr2F0G(x1793, x1794, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1795) ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(x1791)))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x1791)=x2798 & Succ(Zero)=x2799 & new_primDivNatS1(x2798, x2799)=Succ(Succ(Succ(Succ(Zero)))) ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(x1791)))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2798, x2799)=Succ(Succ(Succ(Succ(Zero)))) which results in the following new constraints: (3) (new_primDivNatS02(x2802, x2801, x2802, x2801)=Succ(Succ(Succ(Succ(Zero)))) & Succ(x1791)=Succ(Succ(x2802)) & Succ(Zero)=Succ(x2801) ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(x1791)))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2804), Zero))=Succ(Succ(Succ(Succ(Zero)))) & Succ(x1791)=Succ(Succ(x2804)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(x1791)))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Succ(Succ(Zero)))) & Succ(x1791)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(x1791)))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(x1791), Succ(Zero))))), x1792)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2802=x2805 & x2801=x2806 & new_primDivNatS02(x2802, x2801, x2805, x2806)=Succ(Succ(Succ(Succ(Zero)))) & Zero=x2801 ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(x2802))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2802)), Succ(Zero))))), x1792)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2802, x2801, x2805, x2806)=Succ(Succ(Succ(Succ(Zero)))) which results in the following new constraints: (7) (new_primDivNatS01(x2808, x2807)=Succ(Succ(Succ(Succ(Zero)))) & x2808=Zero & x2807=Zero & Zero=x2807 ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(x2808))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2808)), Succ(Zero))))), x1792)) (8) (new_primDivNatS01(x2811, x2810)=Succ(Succ(Succ(Succ(Zero)))) & x2811=Succ(x2809) & x2810=Zero & Zero=x2810 ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(x2811))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2811)), Succ(Zero))))), x1792)) (9) (new_primDivNatS02(x2818, x2817, x2816, x2815)=Succ(Succ(Succ(Succ(Zero)))) & x2818=Succ(x2816) & x2817=Succ(x2815) & Zero=x2817 & (\/x2819,x2820,x2821:new_primDivNatS02(x2818, x2817, x2816, x2815)=Succ(Succ(Succ(Succ(Zero)))) & x2818=x2816 & x2817=x2815 & Zero=x2817 ==> new_pr2F0G10(x2819, x2820, Succ(Succ(Succ(Succ(Succ(x2818))))), Zero, x2821)_>=_new_pr2F0G(x2819, new_sr3(x2820, x2821), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2818)), Succ(Zero))))), x2821)) ==> new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(x2818))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2818)), Succ(Zero))))), x1792)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1792)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(Succ(x2809)))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2809))), Succ(Zero))))), x1792)) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(x1810)))), Zero, x1811) -> new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811), new_pr2F0G(x1812, x1813, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814))))))))))), x1815) -> H(x1812, x1813, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814))))))))), x1815, new_new_pr2F0G10(x1814)) which results in the following constraint: (1) (new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811)=new_pr2F0G(x1812, x1813, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814))))))))))), x1815) ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(x1810)))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x1810)=x2826 & Succ(Zero)=x2827 & new_primDivNatS1(x2826, x2827)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(x1810)))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2826, x2827)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) which results in the following new constraints: (3) (new_primDivNatS02(x2830, x2829, x2830, x2829)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & Succ(x1810)=Succ(Succ(x2830)) & Succ(Zero)=Succ(x2829) ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(x1810)))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2832), Zero))=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & Succ(x1810)=Succ(Succ(x2832)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(x1810)))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & Succ(x1810)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(x1810)))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(x1810), Succ(Zero))))), x1811)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2830=x2833 & x2829=x2834 & new_primDivNatS02(x2830, x2829, x2833, x2834)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & Zero=x2829 ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(x2830))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2830)), Succ(Zero))))), x1811)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2830, x2829, x2833, x2834)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) which results in the following new constraints: (7) (new_primDivNatS01(x2836, x2835)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & x2836=Zero & x2835=Zero & Zero=x2835 ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(x2836))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2836)), Succ(Zero))))), x1811)) (8) (new_primDivNatS01(x2839, x2838)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & x2839=Succ(x2837) & x2838=Zero & Zero=x2838 ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(x2839))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2839)), Succ(Zero))))), x1811)) (9) (new_primDivNatS02(x2846, x2845, x2844, x2843)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1814)))))))) & x2846=Succ(x2844) & x2845=Succ(x2843) & Zero=x2845 & (\/x2847,x2848,x2849,x2850:new_primDivNatS02(x2846, x2845, x2844, x2843)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2847)))))))) & x2846=x2844 & x2845=x2843 & Zero=x2845 ==> new_pr2F0G10(x2848, x2849, Succ(Succ(Succ(Succ(Succ(x2846))))), Zero, x2850)_>=_new_pr2F0G(x2848, new_sr3(x2849, x2850), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2846)), Succ(Zero))))), x2850)) ==> new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(x2846))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2846)), Succ(Zero))))), x1811)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1811)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(Succ(x2837)))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2837))), Succ(Zero))))), x1811)) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(x1818)))), Zero, x1819) -> new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819), new_pr2F0G(x1820, x1821, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x1822) -> H(x1820, x1821, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1822, cons_new_pr2F0G10(Succ(Zero))) which results in the following constraint: (1) (new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819)=new_pr2F0G(x1820, x1821, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x1822) ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(x1818)))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x1818)=x2855 & Succ(Zero)=x2856 & new_primDivNatS1(x2855, x2856)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(x1818)))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2855, x2856)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) which results in the following new constraints: (3) (new_primDivNatS02(x2859, x2858, x2859, x2858)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Succ(x1818)=Succ(Succ(x2859)) & Succ(Zero)=Succ(x2858) ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(x1818)))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2861), Zero))=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Succ(x1818)=Succ(Succ(x2861)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(x1818)))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Succ(x1818)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(x1818)))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(x1818), Succ(Zero))))), x1819)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2859=x2862 & x2858=x2863 & new_primDivNatS02(x2859, x2858, x2862, x2863)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & Zero=x2858 ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(x2859))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2859)), Succ(Zero))))), x1819)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2859, x2858, x2862, x2863)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) which results in the following new constraints: (7) (new_primDivNatS01(x2865, x2864)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & x2865=Zero & x2864=Zero & Zero=x2864 ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(x2865))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2865)), Succ(Zero))))), x1819)) (8) (new_primDivNatS01(x2868, x2867)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & x2868=Succ(x2866) & x2867=Zero & Zero=x2867 ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(x2868))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2868)), Succ(Zero))))), x1819)) (9) (new_primDivNatS02(x2875, x2874, x2873, x2872)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & x2875=Succ(x2873) & x2874=Succ(x2872) & Zero=x2874 & (\/x2876,x2877,x2878:new_primDivNatS02(x2875, x2874, x2873, x2872)=Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))) & x2875=x2873 & x2874=x2872 & Zero=x2874 ==> new_pr2F0G10(x2876, x2877, Succ(Succ(Succ(Succ(Succ(x2875))))), Zero, x2878)_>=_new_pr2F0G(x2876, new_sr3(x2877, x2878), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2875)), Succ(Zero))))), x2878)) ==> new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(x2875))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2875)), Succ(Zero))))), x1819)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1819)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(Succ(x2866)))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2866))), Succ(Zero))))), x1819)) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(x1825)))), Zero, x1826) -> new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826), new_pr2F0G(x1827, x1828, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1829) -> H(x1827, x1828, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1829, cons_new_pr2F0G10(Zero)) which results in the following constraint: (1) (new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826)=new_pr2F0G(x1827, x1828, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1829) ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(x1825)))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x1825)=x2883 & Succ(Zero)=x2884 & new_primDivNatS1(x2883, x2884)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(x1825)))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x2883, x2884)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) which results in the following new constraints: (3) (new_primDivNatS02(x2887, x2886, x2887, x2886)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Succ(x1825)=Succ(Succ(x2887)) & Succ(Zero)=Succ(x2886) ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(x1825)))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x2889), Zero))=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Succ(x1825)=Succ(Succ(x2889)) & Succ(Zero)=Zero ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(x1825)))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Succ(x1825)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(x1825)))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(x1825), Succ(Zero))))), x1826)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x2887=x2890 & x2886=x2891 & new_primDivNatS02(x2887, x2886, x2890, x2891)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & Zero=x2886 ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(x2887))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2887)), Succ(Zero))))), x1826)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x2887, x2886, x2890, x2891)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) which results in the following new constraints: (7) (new_primDivNatS01(x2893, x2892)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & x2893=Zero & x2892=Zero & Zero=x2892 ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(x2893))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2893)), Succ(Zero))))), x1826)) (8) (new_primDivNatS01(x2896, x2895)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & x2896=Succ(x2894) & x2895=Zero & Zero=x2895 ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(x2896))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2896)), Succ(Zero))))), x1826)) (9) (new_primDivNatS02(x2903, x2902, x2901, x2900)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & x2903=Succ(x2901) & x2902=Succ(x2900) & Zero=x2902 & (\/x2904,x2905,x2906:new_primDivNatS02(x2903, x2902, x2901, x2900)=Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))) & x2903=x2901 & x2902=x2900 & Zero=x2902 ==> new_pr2F0G10(x2904, x2905, Succ(Succ(Succ(Succ(Succ(x2903))))), Zero, x2906)_>=_new_pr2F0G(x2904, new_sr3(x2905, x2906), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2903)), Succ(Zero))))), x2906)) ==> new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(x2903))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(x2903)), Succ(Zero))))), x1826)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1826)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(Succ(x2894)))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2894))), Succ(Zero))))), x1826)) We solved constraint (9) using rules (I), (II), (III). For Pair new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) the following chains were created: *We consider the chain new_pr2F0G10(x1854, x1855, Succ(Succ(Succ(Zero))), Zero, x1856) -> new_pr2F0G(x1854, new_sr3(x1855, x1856), Neg(Succ(Succ(Zero))), x1856), new_pr2F0G(x1857, x1858, Neg(Succ(Succ(x1859))), x1860) -> new_pr2F0G10(x1857, x1858, Succ(x1859), x1859, x1860) which results in the following constraint: (1) (new_pr2F0G(x1854, new_sr3(x1855, x1856), Neg(Succ(Succ(Zero))), x1856)=new_pr2F0G(x1857, x1858, Neg(Succ(Succ(x1859))), x1860) ==> new_pr2F0G10(x1854, x1855, Succ(Succ(Succ(Zero))), Zero, x1856)_>=_new_pr2F0G(x1854, new_sr3(x1855, x1856), Neg(Succ(Succ(Zero))), x1856)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G10(x1854, x1855, Succ(Succ(Succ(Zero))), Zero, x1856)_>=_new_pr2F0G(x1854, new_sr3(x1855, x1856), Neg(Succ(Succ(Zero))), x1856)) For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) the following chains were created: *We consider the chain new_pr2F0G(x1930, x1931, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1932) -> H(x1930, x1931, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1932, cons_new_pr2F0G10(Succ(Zero))), H(x1933, x1934, x1935, x1936, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x1933, x1934, x1935, Succ(Zero), x1936) which results in the following constraint: (1) (H(x1930, x1931, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1932, cons_new_pr2F0G10(Succ(Zero)))=H(x1933, x1934, x1935, x1936, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0G(x1930, x1931, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1932)_>=_H(x1930, x1931, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1932, cons_new_pr2F0G10(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G(x1930, x1931, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1932)_>=_H(x1930, x1931, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1932, cons_new_pr2F0G10(Succ(Zero)))) For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) the following chains were created: *We consider the chain new_pr2F0G(x2018, x2019, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2020) -> H(x2018, x2019, Succ(Succ(Succ(Succ(Succ(Zero))))), x2020, cons_new_pr2F0G10(Zero)), H(x2021, x2022, x2023, x2024, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x2021, x2022, x2023, Zero, x2024) which results in the following constraint: (1) (H(x2018, x2019, Succ(Succ(Succ(Succ(Succ(Zero))))), x2020, cons_new_pr2F0G10(Zero))=H(x2021, x2022, x2023, x2024, cons_new_pr2F0G10(Zero)) ==> new_pr2F0G(x2018, x2019, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2020)_>=_H(x2018, x2019, Succ(Succ(Succ(Succ(Succ(Zero))))), x2020, cons_new_pr2F0G10(Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G(x2018, x2019, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2020)_>=_H(x2018, x2019, Succ(Succ(Succ(Succ(Succ(Zero))))), x2020, cons_new_pr2F0G10(Zero))) For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) the following chains were created: *We consider the chain new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))))), x2107, x2108) -> H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))), x2108, new_new_pr2F0G10(x2106)), H(x2109, x2110, x2111, x2112, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x2109, x2110, x2111, Succ(Zero), x2112) which results in the following constraint: (1) (H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))), x2108, new_new_pr2F0G10(x2106))=H(x2109, x2110, x2111, x2112, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))), x2108, new_new_pr2F0G10(x2106))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_pr2F0G10(x2106)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2106))))))))), x2108, new_new_pr2F0G10(x2106))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x2106)=cons_new_pr2F0G10(Succ(Zero)) which results in the following new constraints: (3) (new_new_pr2F0G10(x2911)=cons_new_pr2F0G10(Succ(Zero)) & (\/x2912,x2913,x2914:new_new_pr2F0G10(x2911)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x2912, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2913, x2914)_>=_H(x2913, x2912, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))), x2914, new_new_pr2F0G10(x2911))) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2108, new_new_pr2F0G10(Succ(Succ(x2911))))) (4) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2108, new_new_pr2F0G10(Succ(Zero)))) (5) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2108, new_new_pr2F0G10(Zero))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2912,x2913,x2914:new_new_pr2F0G10(x2911)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0(x2912, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2913, x2914)_>=_H(x2913, x2912, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))), x2914, new_new_pr2F0G10(x2911))) with sigma = [x2912 / x2105, x2913 / x2107, x2914 / x2108] which results in the following new constraint: (6) (new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))), x2108, new_new_pr2F0G10(x2911)) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2108, new_new_pr2F0G10(Succ(Succ(x2911))))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2108, new_new_pr2F0G10(Succ(Zero)))) We solved constraint (5) using rules (I), (II). *We consider the chain new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))))), x2115, x2116) -> H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))), x2116, new_new_pr2F0G10(x2114)), H(x2117, x2118, x2119, x2120, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x2117, x2118, x2119, Zero, x2120) which results in the following constraint: (1) (H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))), x2116, new_new_pr2F0G10(x2114))=H(x2117, x2118, x2119, x2120, cons_new_pr2F0G10(Zero)) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))), x2116, new_new_pr2F0G10(x2114))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_pr2F0G10(x2114)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2114))))))))), x2116, new_new_pr2F0G10(x2114))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x2114)=cons_new_pr2F0G10(Zero) which results in the following new constraints: (3) (new_new_pr2F0G10(x2915)=cons_new_pr2F0G10(Zero) & (\/x2916,x2917,x2918:new_new_pr2F0G10(x2915)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x2916, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2917, x2918)_>=_H(x2917, x2916, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))), x2918, new_new_pr2F0G10(x2915))) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2116, new_new_pr2F0G10(Succ(Succ(x2915))))) (4) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2116, new_new_pr2F0G10(Succ(Zero)))) (5) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2116, new_new_pr2F0G10(Zero))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2916,x2917,x2918:new_new_pr2F0G10(x2915)=cons_new_pr2F0G10(Zero) ==> new_pr2F0(x2916, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2917, x2918)_>=_H(x2917, x2916, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))), x2918, new_new_pr2F0G10(x2915))) with sigma = [x2916 / x2113, x2917 / x2115, x2918 / x2116] which results in the following new constraint: (6) (new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))), x2116, new_new_pr2F0G10(x2915)) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2116, new_new_pr2F0G10(Succ(Succ(x2915))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2116, new_new_pr2F0G10(Zero))) For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) the following chains were created: *We consider the chain new_pr2F0(x2216, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2217, x2218) -> H(x2217, x2216, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2218, cons_new_pr2F0G10(Succ(Zero))), H(x2219, x2220, x2221, x2222, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x2219, x2220, x2221, Succ(Zero), x2222) which results in the following constraint: (1) (H(x2217, x2216, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2218, cons_new_pr2F0G10(Succ(Zero)))=H(x2219, x2220, x2221, x2222, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0(x2216, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2217, x2218)_>=_H(x2217, x2216, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2218, cons_new_pr2F0G10(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x2216, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2217, x2218)_>=_H(x2217, x2216, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2218, cons_new_pr2F0G10(Succ(Zero)))) For Pair new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) the following chains were created: *We consider the chain new_pr2F0(x2304, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2305, x2306) -> H(x2305, x2304, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2306, cons_new_pr2F0G10(Zero)), H(x2307, x2308, x2309, x2310, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x2307, x2308, x2309, Zero, x2310) which results in the following constraint: (1) (H(x2305, x2304, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2306, cons_new_pr2F0G10(Zero))=H(x2307, x2308, x2309, x2310, cons_new_pr2F0G10(Zero)) ==> new_pr2F0(x2304, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2305, x2306)_>=_H(x2305, x2304, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2306, cons_new_pr2F0G10(Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0(x2304, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2305, x2306)_>=_H(x2305, x2304, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2306, cons_new_pr2F0G10(Zero))) For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) the following chains were created: *We consider the chain new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))))), x2394) -> H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))), x2394, new_new_pr2F0G10(x2393)), H(x2395, x2396, x2397, x2398, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x2395, x2396, x2397, Succ(Zero), x2398) which results in the following constraint: (1) (H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))), x2394, new_new_pr2F0G10(x2393))=H(x2395, x2396, x2397, x2398, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))), x2394, new_new_pr2F0G10(x2393))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_pr2F0G10(x2393)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2393))))))))), x2394, new_new_pr2F0G10(x2393))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x2393)=cons_new_pr2F0G10(Succ(Zero)) which results in the following new constraints: (3) (new_new_pr2F0G10(x2919)=cons_new_pr2F0G10(Succ(Zero)) & (\/x2920,x2921,x2922:new_new_pr2F0G10(x2919)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x2920, x2921, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2922)_>=_H(x2920, x2921, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))), x2922, new_new_pr2F0G10(x2919))) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2394, new_new_pr2F0G10(Succ(Succ(x2919))))) (4) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2394, new_new_pr2F0G10(Succ(Zero)))) (5) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2394, new_new_pr2F0G10(Zero))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2920,x2921,x2922:new_new_pr2F0G10(x2919)=cons_new_pr2F0G10(Succ(Zero)) ==> new_pr2F0G(x2920, x2921, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2922)_>=_H(x2920, x2921, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))), x2922, new_new_pr2F0G10(x2919))) with sigma = [x2920 / x2391, x2921 / x2392, x2922 / x2394] which results in the following new constraint: (6) (new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))), x2394, new_new_pr2F0G10(x2919)) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2394, new_new_pr2F0G10(Succ(Succ(x2919))))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2394, new_new_pr2F0G10(Succ(Zero)))) We solved constraint (5) using rules (I), (II). *We consider the chain new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))))), x2402) -> H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))), x2402, new_new_pr2F0G10(x2401)), H(x2403, x2404, x2405, x2406, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x2403, x2404, x2405, Zero, x2406) which results in the following constraint: (1) (H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))), x2402, new_new_pr2F0G10(x2401))=H(x2403, x2404, x2405, x2406, cons_new_pr2F0G10(Zero)) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))), x2402, new_new_pr2F0G10(x2401))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_new_pr2F0G10(x2401)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2401))))))))), x2402, new_new_pr2F0G10(x2401))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G10(x2401)=cons_new_pr2F0G10(Zero) which results in the following new constraints: (3) (new_new_pr2F0G10(x2923)=cons_new_pr2F0G10(Zero) & (\/x2924,x2925,x2926:new_new_pr2F0G10(x2923)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x2924, x2925, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2926)_>=_H(x2924, x2925, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))), x2926, new_new_pr2F0G10(x2923))) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2402, new_new_pr2F0G10(Succ(Succ(x2923))))) (4) (cons_new_pr2F0G10(Succ(Zero))=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2402, new_new_pr2F0G10(Succ(Zero)))) (5) (cons_new_pr2F0G10(Zero)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2402, new_new_pr2F0G10(Zero))) We simplified constraint (3) using rule (VI) where we applied the induction hypothesis (\/x2924,x2925,x2926:new_new_pr2F0G10(x2923)=cons_new_pr2F0G10(Zero) ==> new_pr2F0G(x2924, x2925, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2926)_>=_H(x2924, x2925, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))), x2926, new_new_pr2F0G10(x2923))) with sigma = [x2924 / x2399, x2925 / x2400, x2926 / x2402] which results in the following new constraint: (6) (new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))), x2402, new_new_pr2F0G10(x2923)) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2402, new_new_pr2F0G10(Succ(Succ(x2923))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2402, new_new_pr2F0G10(Zero))) For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) the following chains were created: *We consider the chain new_pr2F0G(x2502, x2503, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2504) -> H(x2502, x2503, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2504, cons_new_pr2F0G10(Succ(Zero))), H(x2505, x2506, x2507, x2508, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(x2505, x2506, x2507, Succ(Zero), x2508) which results in the following constraint: (1) (H(x2502, x2503, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2504, cons_new_pr2F0G10(Succ(Zero)))=H(x2505, x2506, x2507, x2508, cons_new_pr2F0G10(Succ(Zero))) ==> new_pr2F0G(x2502, x2503, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2504)_>=_H(x2502, x2503, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2504, cons_new_pr2F0G10(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G(x2502, x2503, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2504)_>=_H(x2502, x2503, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2504, cons_new_pr2F0G10(Succ(Zero)))) For Pair new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) the following chains were created: *We consider the chain new_pr2F0G(x2590, x2591, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2592) -> H(x2590, x2591, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2592, cons_new_pr2F0G10(Zero)), H(x2593, x2594, x2595, x2596, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(x2593, x2594, x2595, Zero, x2596) which results in the following constraint: (1) (H(x2590, x2591, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2592, cons_new_pr2F0G10(Zero))=H(x2593, x2594, x2595, x2596, cons_new_pr2F0G10(Zero)) ==> new_pr2F0G(x2590, x2591, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2592)_>=_H(x2590, x2591, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2592, cons_new_pr2F0G10(Zero))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_pr2F0G(x2590, x2591, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2592)_>=_H(x2590, x2591, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2592, cons_new_pr2F0G10(Zero))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) *(new_pr2F0(x4, Neg(Succ(Succ(Succ(Zero)))), x6, x7)_>=_new_pr2F0G10(x6, x4, Succ(Succ(Zero)), Succ(Zero), x7)) *(new_pr2F0(x40, Neg(Succ(Succ(Zero))), x42, x43)_>=_new_pr2F0G10(x42, x40, Succ(Zero), Zero, x43)) *new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) *(new_pr2F0G10(x123, x124, x125, Succ(Zero), x126)_>=_new_pr2F0G11(x123, x124, x125, x126)) *new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) *(new_pr2F0G11(x239, x240, x241, x242)_>=_new_pr2F1(x240, x241, Pos(Succ(Zero)), x239, x242)) *new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) *(new_pr2F1(x355, x356, Pos(Succ(Zero)), x357, x358)_>=_new_pr2F30(False, x355, x356, Pos(Succ(Zero)), x357, x358)) *new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) *(new_pr2F30(False, x451, x452, Pos(Succ(Zero)), x453, x454)_>=_new_pr2F0(x451, Neg(Succ(Succ(new_primPlusNat0(x452, Zero)))), new_sr4(x451, x453, x454), x454)) *(new_pr2F30(False, x495, Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), x497, x498)_>=_new_pr2F0(x495, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Zero))), Zero)))), new_sr4(x495, x497, x498), x498)) *(new_pr2F30(False, x502, Succ(Succ(Zero)), Pos(Succ(Zero)), x504, x505)_>=_new_pr2F0(x502, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Zero)), Zero)))), new_sr4(x502, x504, x505), x505)) *(new_pr2F30(False, x521, Succ(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero)), x523, x524)_>=_new_pr2F0(x521, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Zero))))), Zero)))), new_sr4(x521, x523, x524), x524)) *(new_pr2F30(False, x528, Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), x530, x531)_>=_new_pr2F0(x528, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Zero)))), Zero)))), new_sr4(x528, x530, x531), x531)) *(new_pr2F30(False, x551, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))), Pos(Succ(Zero)), x553, x554)_>=_new_pr2F0(x551, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x556)))))))), Zero)))), new_sr4(x551, x553, x554), x554)) *(new_pr2F30(False, x559, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), Pos(Succ(Zero)), x561, x562)_>=_new_pr2F0(x559, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), Zero)))), new_sr4(x559, x561, x562), x562)) *(new_pr2F30(False, x566, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Zero)), x568, x569)_>=_new_pr2F0(x566, Neg(Succ(Succ(new_primPlusNat0(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero)))), new_sr4(x566, x568, x569), x569)) *H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) *(H(x589, x590, x591, x592, cons_new_pr2F0G10(Succ(Zero)))_>=_new_pr2F0G10(x589, x590, x591, Succ(Zero), x592)) *H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) *(H(x733, x734, Succ(Zero), x736, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x733, x734, Succ(Zero), Zero, x736)) *(H(x748, x749, Succ(Succ(Zero)), x751, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x748, x749, Succ(Succ(Zero)), Zero, x751)) *(H(x771, x772, Succ(Succ(Succ(Succ(x777)))), x774, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x771, x772, Succ(Succ(Succ(Succ(x777)))), Zero, x774)) *(H(x779, x780, Succ(Succ(Succ(Zero))), x782, cons_new_pr2F0G10(Zero))_>=_new_pr2F0G10(x779, x780, Succ(Succ(Succ(Zero))), Zero, x782)) *new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) *(new_pr2F0G(x824, x825, Neg(Succ(Zero)), x826)_>=_new_pr2F0G11(x824, x825, Zero, x826)) *new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) *(new_pr2F0G(x907, x908, Neg(Succ(Succ(Succ(Zero)))), x910)_>=_new_pr2F0G10(x907, x908, Succ(Succ(Zero)), Succ(Zero), x910)) *(new_pr2F0G(x943, x944, Neg(Succ(Succ(Zero))), x946)_>=_new_pr2F0G10(x943, x944, Succ(Zero), Zero, x946)) *new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) *(new_pr2F0G10(x1039, x1040, Succ(Zero), Zero, x1041)_>=_new_pr2F0G(x1039, new_sr3(x1040, x1041), Neg(Succ(Zero)), x1041)) *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) *(new_pr2F0(x1117, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1118, x1119)_>=_H(x1118, x1117, Succ(Succ(Succ(Succ(Zero)))), x1119, cons_new_pr2F0G10(Succ(Zero)))) *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) *(new_pr2F0(x1205, Neg(Succ(Succ(Succ(Succ(Zero))))), x1206, x1207)_>=_H(x1206, x1205, Succ(Succ(Succ(Zero))), x1207, cons_new_pr2F0G10(Zero))) *new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) *(new_pr2F0G10(x1293, x1294, Succ(Succ(Zero)), Zero, x1295)_>=_new_pr2F0G(x1293, new_sr3(x1294, x1295), Neg(Succ(Zero)), x1295)) *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) *(new_pr2F0G(x1371, x1372, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1373)_>=_H(x1371, x1372, Succ(Succ(Succ(Succ(Zero)))), x1373, cons_new_pr2F0G10(Succ(Zero)))) *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) *(new_pr2F0G(x1459, x1460, Neg(Succ(Succ(Succ(Succ(Zero))))), x1461)_>=_H(x1459, x1460, Succ(Succ(Succ(Zero))), x1461, cons_new_pr2F0G10(Zero))) *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) *(new_pr2F0(x1541, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1542, x1543)_>=_H(x1542, x1541, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1543, cons_new_pr2F0G10(Succ(Zero)))) *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) *(new_pr2F0(x1629, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1630, x1631)_>=_H(x1630, x1629, Succ(Succ(Succ(Succ(Succ(Zero))))), x1631, cons_new_pr2F0G10(Zero))) *new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) *(new_pr2F0G10(x1728, x1729, Succ(Succ(Succ(Succ(x1730)))), Zero, x1731)_>=_new_pr2F0G(x1728, new_sr3(x1729, x1731), Neg(Succ(Succ(new_primDivNatS1(Succ(x1730), Succ(Zero))))), x1731)) *(new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1755)) *(new_pr2F0G10(x1752, x1753, Succ(Succ(Succ(Succ(Succ(Succ(x2725)))))), Zero, x1755)_>=_new_pr2F0G(x1752, new_sr3(x1753, x1755), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2725))), Succ(Zero))))), x1755)) *(new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1762)) *(new_pr2F0G10(x1759, x1760, Succ(Succ(Succ(Succ(Succ(Succ(x2753)))))), Zero, x1762)_>=_new_pr2F0G(x1759, new_sr3(x1760, x1762), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2753))), Succ(Zero))))), x1762)) *(new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1785)) *(new_pr2F0G10(x1782, x1783, Succ(Succ(Succ(Succ(Succ(Succ(x2781)))))), Zero, x1785)_>=_new_pr2F0G(x1782, new_sr3(x1783, x1785), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2781))), Succ(Zero))))), x1785)) *(new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1792)) *(new_pr2F0G10(x1789, x1790, Succ(Succ(Succ(Succ(Succ(Succ(x2809)))))), Zero, x1792)_>=_new_pr2F0G(x1789, new_sr3(x1790, x1792), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2809))), Succ(Zero))))), x1792)) *(new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1811)) *(new_pr2F0G10(x1808, x1809, Succ(Succ(Succ(Succ(Succ(Succ(x2837)))))), Zero, x1811)_>=_new_pr2F0G(x1808, new_sr3(x1809, x1811), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2837))), Succ(Zero))))), x1811)) *(new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1819)) *(new_pr2F0G10(x1816, x1817, Succ(Succ(Succ(Succ(Succ(Succ(x2866)))))), Zero, x1819)_>=_new_pr2F0G(x1816, new_sr3(x1817, x1819), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2866))), Succ(Zero))))), x1819)) *(new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(Zero))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))))), x1826)) *(new_pr2F0G10(x1823, x1824, Succ(Succ(Succ(Succ(Succ(Succ(x2894)))))), Zero, x1826)_>=_new_pr2F0G(x1823, new_sr3(x1824, x1826), Neg(Succ(Succ(new_primDivNatS1(Succ(Succ(Succ(x2894))), Succ(Zero))))), x1826)) *new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) *(new_pr2F0G10(x1854, x1855, Succ(Succ(Succ(Zero))), Zero, x1856)_>=_new_pr2F0G(x1854, new_sr3(x1855, x1856), Neg(Succ(Succ(Zero))), x1856)) *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) *(new_pr2F0G(x1930, x1931, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1932)_>=_H(x1930, x1931, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1932, cons_new_pr2F0G10(Succ(Zero)))) *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) *(new_pr2F0G(x2018, x2019, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2020)_>=_H(x2018, x2019, Succ(Succ(Succ(Succ(Succ(Zero))))), x2020, cons_new_pr2F0G10(Zero))) *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) *(new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))), x2108, new_new_pr2F0G10(x2911)) ==> new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2911))))))))))), x2108, new_new_pr2F0G10(Succ(Succ(x2911))))) *(new_pr2F0(x2105, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2107, x2108)_>=_H(x2107, x2105, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2108, new_new_pr2F0G10(Succ(Zero)))) *(new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))), x2116, new_new_pr2F0G10(x2915)) ==> new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2915))))))))))), x2116, new_new_pr2F0G10(Succ(Succ(x2915))))) *(new_pr2F0(x2113, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2115, x2116)_>=_H(x2115, x2113, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2116, new_new_pr2F0G10(Zero))) *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) *(new_pr2F0(x2216, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2217, x2218)_>=_H(x2217, x2216, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2218, cons_new_pr2F0G10(Succ(Zero)))) *new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) *(new_pr2F0(x2304, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2305, x2306)_>=_H(x2305, x2304, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2306, cons_new_pr2F0G10(Zero))) *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) *(new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))), x2394, new_new_pr2F0G10(x2919)) ==> new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2919))))))))))), x2394, new_new_pr2F0G10(Succ(Succ(x2919))))) *(new_pr2F0G(x2391, x2392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), x2394)_>=_H(x2391, x2392, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2394, new_new_pr2F0G10(Succ(Zero)))) *(new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))), x2402, new_new_pr2F0G10(x2923)) ==> new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2923))))))))))), x2402, new_new_pr2F0G10(Succ(Succ(x2923))))) *(new_pr2F0G(x2399, x2400, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), x2402)_>=_H(x2399, x2400, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2402, new_new_pr2F0G10(Zero))) *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) *(new_pr2F0G(x2502, x2503, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), x2504)_>=_H(x2502, x2503, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2504, cons_new_pr2F0G10(Succ(Zero)))) *new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) *(new_pr2F0G(x2590, x2591, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x2592)_>=_H(x2590, x2591, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2592, cons_new_pr2F0G10(Zero))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (876) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Neg(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) -> new_pr2F0G11(vyv248, vyv249, vyv250, bb) new_pr2F0G11(vyv238, vyv239, vyv240, bc) -> new_pr2F1(vyv239, vyv240, Pos(Succ(Zero)), vyv238, bc) new_pr2F1(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F30(False, z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F30(False, z0, z1, Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Neg(Succ(Succ(new_primPlusNat0(z1, Zero)))), new_sr4(z0, z2, z3), z3) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Succ(Zero))) -> new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Zero), bb) H(vyv248, vyv249, vyv250, bb, cons_new_pr2F0G10(Zero)) -> new_pr2F0G10(vyv248, vyv249, vyv250, Zero, bb) new_pr2F0G(vyv187, vyv183, Neg(Succ(Zero)), h) -> new_pr2F0G11(vyv187, vyv183, Zero, h) new_pr2F0G(vyv187, vyv183, Neg(Succ(Succ(vyv222000))), h) -> new_pr2F0G10(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G10(y0, y1, Succ(Zero), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Zero))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Zero)), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Zero)), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Zero)))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Zero))))), y3) -> H(y0, y1, Succ(Succ(Succ(Zero))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Succ(x2)))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(new_primDivNatS1(Succ(x2), Succ(Zero))))), y3) new_pr2F0G10(y0, y1, Succ(Succ(Succ(Zero))), Zero, y3) -> new_pr2F0G(y0, new_sr3(y1, y3), Neg(Succ(Succ(Zero))), y3) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Zero))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0(y0, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y2, y3) -> H(y2, y0, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), y3, new_new_pr2F0G10(x0)) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), y3, cons_new_pr2F0G10(Succ(Zero))) new_pr2F0G(y0, y1, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), y3) -> H(y0, y1, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), y3, cons_new_pr2F0G10(Zero)) The TRS R consists of the following rules: new_new_pr2F0G10(Succ(Succ(vyv25100))) -> new_new_pr2F0G10(vyv25100) new_new_pr2F0G10(Succ(Zero)) -> cons_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) -> cons_new_pr2F0G10(Zero) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primPlusNat0(Zero, Zero) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G10(Succ(Succ(x0))) new_new_pr2F0G10(Succ(Zero)) new_new_pr2F0G10(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (877) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (878) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_pr2F0G10(vyv248, vyv249, vyv250, Succ(Succ(vyv25100)), bb) -> new_pr2F0G10(vyv248, vyv249, vyv250, vyv25100, bb) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 >= 5 ---------------------------------------- (879) YES ---------------------------------------- (880) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) The TRS R consists of the following rules: new_ms0(vyv240, Pos(vyv2430)) -> Neg(new_primPlusNat0(Succ(vyv240), vyv2430)) new_sr4(vyv239, vyv238, app(ty_Ratio, bf)) -> new_sr12(vyv239, vyv238, bf) new_sr4(vyv239, vyv238, ty_Integer) -> new_sr8(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Int) -> new_sr14(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Double) -> new_sr11(vyv239, vyv238) new_sr4(vyv239, vyv238, ty_Float) -> new_sr13(vyv239, vyv238) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr8(vyv239, vyv238) -> error([]) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot(vyv273, vyv275, vyv274) -> error([]) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr3(vyv249, ty_Float) -> new_sr10(vyv249) new_sr3(vyv249, ty_Double) -> new_sr9(vyv249) new_sr3(vyv249, ty_Int) -> new_sr6(vyv249) new_sr3(vyv249, ty_Integer) -> new_sr7(vyv249) new_sr3(vyv249, app(ty_Ratio, bg)) -> new_sr5(vyv249, bg) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (881) 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. ---------------------------------------- (882) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_ms0(x0, Pos(x1)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_sr3(x0, ty_Integer) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_sr3(x0, ty_Int) new_primMulNat0(Zero, Zero) new_sr4(x0, x1, ty_Double) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_sr3(x0, ty_Float) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr3(x0, app(ty_Ratio, x1)) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr4(x0, x1, ty_Integer) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_sr4(x0, x1, ty_Int) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_ms0(x0, Neg(Zero)) new_primMinusNat0(Succ(x0), Zero) new_ms0(x0, Neg(Succ(x1))) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr4(x0, x1, ty_Float) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_sr3(x0, ty_Double) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (883) 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_ms0(x0, Pos(x1)) new_sr3(x0, ty_Integer) new_sr3(x0, ty_Int) new_sr4(x0, x1, ty_Double) new_sr3(x0, ty_Float) new_sr4(x0, x1, app(ty_Ratio, x2)) new_sr3(x0, app(ty_Ratio, x1)) new_sr4(x0, x1, ty_Integer) new_sr4(x0, x1, ty_Int) new_ms0(x0, Neg(Zero)) new_ms0(x0, Neg(Succ(x1))) new_sr4(x0, x1, ty_Float) new_sr3(x0, ty_Double) ---------------------------------------- (884) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (885) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_pr2F(vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F3(new_esEs(new_ms(vyv228, vyv244)), vyv227, vyv228, vyv244, vyv226, ba) we obtained the following new rules [LPAR04]: (new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_ms(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_ms(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3)) (new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_ms(Zero, Pos(Succ(Zero)))), z0, Zero, Pos(Succ(Zero)), z1, z2),new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_ms(Zero, Pos(Succ(Zero)))), z0, Zero, Pos(Succ(Zero)), z1, z2)) ---------------------------------------- (886) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_ms(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_ms(Zero, Pos(Succ(Zero)))), z0, Zero, Pos(Succ(Zero)), z1, z2) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (887) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_ms(z2, Pos(Succ(Zero)))), z1, z2, Pos(Succ(Zero)), z0, z3) at position [0,0] we obtained the following new rules [LPAR04]: (new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3),new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3)) ---------------------------------------- (888) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_ms(Zero, Pos(Succ(Zero)))), z0, Zero, Pos(Succ(Zero)), z1, z2) new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (889) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_ms(Zero, Pos(Succ(Zero)))), z0, Zero, Pos(Succ(Zero)), z1, z2) at position [0,0] we obtained the following new rules [LPAR04]: (new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_primMinusNat0(Zero, Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2),new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_primMinusNat0(Zero, Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2)) ---------------------------------------- (890) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_primMinusNat0(Zero, Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (891) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(new_primMinusNat0(Zero, Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2) at position [0,0] we obtained the following new rules [LPAR04]: (new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(Pos(Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2),new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(Pos(Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2)) ---------------------------------------- (892) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F(z0, Zero, Pos(Succ(Zero)), z1, z2) -> new_pr2F3(new_esEs(Pos(Zero)), z0, Zero, Pos(Succ(Zero)), z1, z2) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (893) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (894) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (895) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_pr2F(z1, z2, Pos(Succ(Zero)), z0, z3) -> new_pr2F3(new_esEs(new_primMinusNat0(z2, Zero)), z1, z2, Pos(Succ(Zero)), z0, z3) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F(y0, Zero, Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Zero)), y0, Zero, Pos(Succ(Zero)), y2, y3),new_pr2F(y0, Zero, Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Zero)), y0, Zero, Pos(Succ(Zero)), y2, y3)) (new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3),new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3)) ---------------------------------------- (896) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Zero)), h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F0(vyv183, Pos(Succ(Zero)), vyv187, h) -> new_pr2F(vyv183, Zero, Pos(Succ(Zero)), vyv187, h) new_pr2F(y0, Zero, Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Zero)), y0, Zero, Pos(Succ(Zero)), y2, y3) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (897) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (898) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (899) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_esEs(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_primEqInt(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3),new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_primEqInt(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3)) ---------------------------------------- (900) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_primEqInt(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (901) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(new_primEqInt(Pos(Succ(x0))), y0, Succ(x0), Pos(Succ(Zero)), y2, y3) at position [0] we obtained the following new rules [LPAR04]: (new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3),new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3)) ---------------------------------------- (902) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (903) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_pr2F3(False, vyv227, vyv228, vyv244, vyv226, ba) -> new_pr2F0(vyv227, new_ms(vyv228, vyv244), new_sr2(vyv227, vyv226, ba), ba) we obtained the following new rules [LPAR04]: (new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms(Succ(z1), Pos(Succ(Zero))), new_sr2(z0, z2, z3), z3),new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms(Succ(z1), Pos(Succ(Zero))), new_sr2(z0, z2, z3), z3)) ---------------------------------------- (904) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms(Succ(z1), Pos(Succ(Zero))), new_sr2(z0, z2, z3), z3) The TRS R consists of the following rules: new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS1(Zero, vyv28400) -> Zero new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_sr7(vyv183) -> error([]) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero new_ms(vyv228, Neg(vyv2440)) -> Pos(new_primPlusNat0(Succ(vyv228), vyv2440)) new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_ms(vyv228, Pos(Zero)) -> Pos(Succ(vyv228)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (905) 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. ---------------------------------------- (906) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms(Succ(z1), Pos(Succ(Zero))), new_sr2(z0, z2, z3), z3) The TRS R consists of the following rules: new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (907) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_ms(Succ(z1), Pos(Succ(Zero))), new_sr2(z0, z2, z3), z3) at position [1] we obtained the following new rules [LPAR04]: (new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_primMinusNat0(Succ(z1), Zero), new_sr2(z0, z2, z3), z3),new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_primMinusNat0(Succ(z1), Zero), new_sr2(z0, z2, z3), z3)) ---------------------------------------- (908) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_primMinusNat0(Succ(z1), Zero), new_sr2(z0, z2, z3), z3) The TRS R consists of the following rules: new_ms(vyv228, Pos(Succ(vyv24400))) -> new_primMinusNat0(vyv228, vyv24400) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_primMinusNat0(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat0(vyv2280, vyv244000) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMinusNat0(Zero, Succ(vyv244000)) -> Neg(Succ(vyv244000)) new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (909) 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. ---------------------------------------- (910) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_primMinusNat0(Succ(z1), Zero), new_sr2(z0, z2, z3), z3) The TRS R consists of the following rules: new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_ms(x0, Neg(x1)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_ms(x0, Pos(Zero)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_ms(x0, Pos(Succ(x1))) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (911) 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_ms(x0, Neg(x1)) new_ms(x0, Pos(Zero)) new_ms(x0, Pos(Succ(x1))) ---------------------------------------- (912) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_primMinusNat0(Succ(z1), Zero), new_sr2(z0, z2, z3), z3) The TRS R consists of the following rules: new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (913) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, new_primMinusNat0(Succ(z1), Zero), new_sr2(z0, z2, z3), z3) at position [1] we obtained the following new rules [LPAR04]: (new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3),new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3)) ---------------------------------------- (914) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3) The TRS R consists of the following rules: new_primMinusNat0(Succ(vyv2280), Zero) -> Pos(Succ(vyv2280)) new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (915) 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. ---------------------------------------- (916) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primMinusNat0(Zero, Zero) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_primMinusNat0(Succ(x0), Succ(x1)) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_primMinusNat0(Succ(x0), Zero) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_primMinusNat0(Zero, Succ(x0)) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (917) 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_primMinusNat0(Zero, Zero) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMinusNat0(Succ(x0), Zero) new_primMinusNat0(Zero, Succ(x0)) ---------------------------------------- (918) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (919) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Zero), ba) -> new_pr2F(vyv227, vyv228, Pos(Succ(Zero)), vyv226, ba) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(:%(x_1, x_2)) = 0 POL(False) = 0 POL(Integer(x_1)) = 1 + x_1 POL(Neg(x_1)) = 0 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 0 POL(Zero) = 0 POL([]) = 1 POL(app(x_1, x_2)) = x_1 + x_2 POL(error(x_1)) = 0 POL(new_abs(x_1)) = 0 POL(new_error) = 1 POL(new_esEs(x_1)) = 0 POL(new_esEs0(x_1, x_2)) = x_1 POL(new_esEs1(x_1)) = 0 POL(new_esEs2(x_1, x_2, x_3)) = x_2 POL(new_gcd(x_1, x_2)) = x_1 + x_2 POL(new_gcd0(x_1, x_2)) = 1 + x_1 + x_2 POL(new_gcd0Gcd'00(x_1, x_2)) = 0 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = x_2 + x_3 POL(new_gcd0Gcd'11(x_1, x_2, x_3)) = x_2 + x_3 POL(new_gcd1(x_1, x_2, x_3)) = 1 + x_2 + x_3 POL(new_gcd2(x_1, x_2, x_3)) = 1 + x_2 + x_3 POL(new_pr2F(x_1, x_2, x_3, x_4, x_5)) = x_2 + x_5 POL(new_pr2F0(x_1, x_2, x_3, x_4)) = x_2 + x_4 POL(new_pr2F0G(x_1, x_2, x_3, x_4)) = x_3 + x_4 POL(new_pr2F0G1(x_1, x_2, x_3, x_4, x_5)) = 1 + x_3 + x_5 POL(new_pr2F3(x_1, x_2, x_3, x_4, x_5, x_6)) = x_1 + x_3 + x_6 POL(new_primDivNatS01(x_1, x_2)) = 1 + x_1 POL(new_primDivNatS02(x_1, x_2, x_3, x_4)) = 1 + x_1 POL(new_primDivNatS1(x_1, x_2)) = x_1 POL(new_primEqInt(x_1)) = 0 POL(new_primMinusNatS0(x_1)) = x_1 POL(new_primMinusNatS1) = 0 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 + x_1 + x_2 + x_3 POL(new_primModNatS02(x_1, x_2)) = 1 + x_1 + x_2 POL(new_primModNatS1(x_1, x_2)) = 0 POL(new_primMulNat0(x_1, x_2)) = 0 POL(new_primMulNat1(x_1)) = 0 POL(new_primMulNat2(x_1)) = 0 POL(new_primMulNat3(x_1)) = 0 POL(new_primMulNat4(x_1)) = 0 POL(new_primPlusNat0(x_1, x_2)) = 0 POL(new_primQuotInt(x_1, x_2)) = x_1 POL(new_primQuotInt0(x_1, x_2)) = x_1 POL(new_quot(x_1, x_2, x_3)) = 0 POL(new_quot0(x_1, x_2, x_3)) = 0 POL(new_quot1(x_1, x_2, x_3, x_4, x_5)) = x_1 + x_2 + x_3 + x_4 POL(new_quot2(x_1, x_2, x_3, x_4, x_5)) = x_1 + x_2 + x_3 + x_4 POL(new_reduce2Reduce1(x_1, x_2, x_3, x_4, x_5, x_6)) = 0 POL(new_rem(x_1, x_2)) = 0 POL(new_sr1(x_1, x_2)) = x_1 POL(new_sr10(x_1)) = 1 + x_1 POL(new_sr11(x_1, x_2)) = 1 + x_1 + x_2 POL(new_sr12(x_1, x_2, x_3)) = 1 + x_2 + x_3 POL(new_sr13(x_1, x_2)) = 1 + x_1 + x_2 POL(new_sr14(x_1, x_2)) = 0 POL(new_sr2(x_1, x_2, x_3)) = x_1 + x_2 POL(new_sr5(x_1, x_2)) = 1 + x_2 POL(new_sr6(x_1)) = 0 POL(new_sr7(x_1)) = x_1 POL(new_sr8(x_1, x_2)) = x_1 + x_2 POL(new_sr9(x_1)) = 1 + x_1 POL(ty_Double) = 1 POL(ty_Float) = 1 POL(ty_Int) = 0 POL(ty_Integer) = 0 POL(ty_Ratio) = 1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) ---------------------------------------- (920) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0(vyv183, Pos(Succ(Succ(vyv222000))), vyv187, h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F(y0, Succ(x0), Pos(Succ(Zero)), y2, y3) -> new_pr2F3(False, y0, Succ(x0), Pos(Succ(Zero)), y2, y3) new_pr2F3(False, z0, Succ(z1), Pos(Succ(Zero)), z2, z3) -> new_pr2F0(z0, Pos(Succ(z1)), new_sr2(z0, z2, z3), z3) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (921) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (922) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (923) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (924) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (925) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) the following chains were created: *We consider the chain new_pr2F0G1(x0, x1, x2, Succ(Succ(x3)), x4) -> new_pr2F0G1(x0, x1, x2, x3, x4), new_pr2F0G1(x5, x6, x7, Succ(Succ(x8)), x9) -> new_pr2F0G1(x5, x6, x7, x8, x9) which results in the following constraint: (1) (new_pr2F0G1(x0, x1, x2, x3, x4)=new_pr2F0G1(x5, x6, x7, Succ(Succ(x8)), x9) ==> new_pr2F0G1(x0, x1, x2, Succ(Succ(x3)), x4)_>=_new_pr2F0G1(x0, x1, x2, x3, x4)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G1(x0, x1, x2, Succ(Succ(Succ(Succ(x8)))), x4)_>=_new_pr2F0G1(x0, x1, x2, Succ(Succ(x8)), x4)) *We consider the chain new_pr2F0G1(x10, x11, x12, Succ(Succ(x13)), x14) -> new_pr2F0G1(x10, x11, x12, x13, x14), new_pr2F0G1(x15, x16, x17, Zero, x18) -> new_pr2F0G(x15, new_sr1(x16, x18), Pos(new_primDivNatS1(Succ(x17), Succ(Zero))), x18) which results in the following constraint: (1) (new_pr2F0G1(x10, x11, x12, x13, x14)=new_pr2F0G1(x15, x16, x17, Zero, x18) ==> new_pr2F0G1(x10, x11, x12, Succ(Succ(x13)), x14)_>=_new_pr2F0G1(x10, x11, x12, x13, x14)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G1(x10, x11, x12, Succ(Succ(Zero)), x14)_>=_new_pr2F0G1(x10, x11, x12, Zero, x14)) For Pair new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) the following chains were created: *We consider the chain new_pr2F0G1(x32, x33, x34, Zero, x35) -> new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35), new_pr2F0G(x36, x37, Pos(Succ(Succ(x38))), x39) -> new_pr2F0G1(x36, x37, Succ(x38), x38, x39) which results in the following constraint: (1) (new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35)=new_pr2F0G(x36, x37, Pos(Succ(Succ(x38))), x39) ==> new_pr2F0G1(x32, x33, x34, Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x34)=x61 & Succ(Zero)=x62 & new_primDivNatS1(x61, x62)=Succ(Succ(x38)) ==> new_pr2F0G1(x32, x33, x34, Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x61, x62)=Succ(Succ(x38)) which results in the following new constraints: (3) (new_primDivNatS02(x65, x64, x65, x64)=Succ(Succ(x38)) & Succ(x34)=Succ(Succ(x65)) & Succ(Zero)=Succ(x64) ==> new_pr2F0G1(x32, x33, x34, Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x67), Zero))=Succ(Succ(x38)) & Succ(x34)=Succ(Succ(x67)) & Succ(Zero)=Zero ==> new_pr2F0G1(x32, x33, x34, Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x38)) & Succ(x34)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G1(x32, x33, x34, Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(x34), Succ(Zero))), x35)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x65=x68 & x64=x69 & new_primDivNatS02(x65, x64, x68, x69)=Succ(Succ(x38)) & Zero=x64 ==> new_pr2F0G1(x32, x33, Succ(x65), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(x65)), Succ(Zero))), x35)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x65, x64, x68, x69)=Succ(Succ(x38)) which results in the following new constraints: (7) (new_primDivNatS01(x71, x70)=Succ(Succ(x38)) & x71=Zero & x70=Zero & Zero=x70 ==> new_pr2F0G1(x32, x33, Succ(x71), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(x71)), Succ(Zero))), x35)) (8) (new_primDivNatS01(x74, x73)=Succ(Succ(x38)) & x74=Succ(x72) & x73=Zero & Zero=x73 ==> new_pr2F0G1(x32, x33, Succ(x74), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(x74)), Succ(Zero))), x35)) (9) (new_primDivNatS02(x81, x80, x79, x78)=Succ(Succ(x38)) & x81=Succ(x79) & x80=Succ(x78) & Zero=x80 & (\/x82,x83,x84,x85:new_primDivNatS02(x81, x80, x79, x78)=Succ(Succ(x82)) & x81=x79 & x80=x78 & Zero=x80 ==> new_pr2F0G1(x83, x84, Succ(x81), Zero, x85)_>=_new_pr2F0G(x83, new_sr1(x84, x85), Pos(new_primDivNatS1(Succ(Succ(x81)), Succ(Zero))), x85)) ==> new_pr2F0G1(x32, x33, Succ(x81), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(x81)), Succ(Zero))), x35)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G1(x32, x33, Succ(Zero), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x35)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G1(x32, x33, Succ(Succ(x72)), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(Succ(x72))), Succ(Zero))), x35)) We solved constraint (9) using rules (I), (II), (III). For Pair new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: *We consider the chain new_pr2F0G(x40, x41, Pos(Succ(Succ(x42))), x43) -> new_pr2F0G1(x40, x41, Succ(x42), x42, x43), new_pr2F0G1(x44, x45, x46, Succ(Succ(x47)), x48) -> new_pr2F0G1(x44, x45, x46, x47, x48) which results in the following constraint: (1) (new_pr2F0G1(x40, x41, Succ(x42), x42, x43)=new_pr2F0G1(x44, x45, x46, Succ(Succ(x47)), x48) ==> new_pr2F0G(x40, x41, Pos(Succ(Succ(x42))), x43)_>=_new_pr2F0G1(x40, x41, Succ(x42), x42, x43)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G(x40, x41, Pos(Succ(Succ(Succ(Succ(x47))))), x43)_>=_new_pr2F0G1(x40, x41, Succ(Succ(Succ(x47))), Succ(Succ(x47)), x43)) *We consider the chain new_pr2F0G(x49, x50, Pos(Succ(Succ(x51))), x52) -> new_pr2F0G1(x49, x50, Succ(x51), x51, x52), new_pr2F0G1(x53, x54, x55, Zero, x56) -> new_pr2F0G(x53, new_sr1(x54, x56), Pos(new_primDivNatS1(Succ(x55), Succ(Zero))), x56) which results in the following constraint: (1) (new_pr2F0G1(x49, x50, Succ(x51), x51, x52)=new_pr2F0G1(x53, x54, x55, Zero, x56) ==> new_pr2F0G(x49, x50, Pos(Succ(Succ(x51))), x52)_>=_new_pr2F0G1(x49, x50, Succ(x51), x51, x52)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G(x49, x50, Pos(Succ(Succ(Zero))), x52)_>=_new_pr2F0G1(x49, x50, Succ(Zero), Zero, x52)) To summarize, we get the following constraints P__>=_ for the following pairs. *new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) *(new_pr2F0G1(x0, x1, x2, Succ(Succ(Succ(Succ(x8)))), x4)_>=_new_pr2F0G1(x0, x1, x2, Succ(Succ(x8)), x4)) *(new_pr2F0G1(x10, x11, x12, Succ(Succ(Zero)), x14)_>=_new_pr2F0G1(x10, x11, x12, Zero, x14)) *new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) *(new_pr2F0G1(x32, x33, Succ(Zero), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x35)) *(new_pr2F0G1(x32, x33, Succ(Succ(x72)), Zero, x35)_>=_new_pr2F0G(x32, new_sr1(x33, x35), Pos(new_primDivNatS1(Succ(Succ(Succ(x72))), Succ(Zero))), x35)) *new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) *(new_pr2F0G(x40, x41, Pos(Succ(Succ(Succ(Succ(x47))))), x43)_>=_new_pr2F0G1(x40, x41, Succ(Succ(Succ(x47))), Succ(Succ(x47)), x43)) *(new_pr2F0G(x49, x50, Pos(Succ(Succ(Zero))), x52)_>=_new_pr2F0G1(x49, x50, Succ(Zero), Zero, x52)) 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. ---------------------------------------- (926) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (927) QDPPairToRuleProof (EQUIVALENT) The dependency pair new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) was transformed to the following new rules: anew_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) new_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) new_new_pr2F0G1(Zero) -> cons_new_pr2F0G1(Zero) the following new pairs maintain the fan-in: new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G1(vyv222000)) the following new pairs maintain the fan-out: H(vyv226, vyv227, vyv228, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) ---------------------------------------- (928) Complex Obligation (AND) ---------------------------------------- (929) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G1(vyv222000)) H(vyv226, vyv227, vyv228, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero anew_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) new_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) new_new_pr2F0G1(Zero) -> cons_new_pr2F0G1(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G1(Succ(Succ(x0))) anew_new_pr2F0G1(Succ(Succ(x0))) new_new_pr2F0G1(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (930) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (931) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G1(vyv222000)) H(vyv226, vyv227, vyv228, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero anew_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) new_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) new_new_pr2F0G1(Zero) -> cons_new_pr2F0G1(Zero) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (932) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) the following chains were created: *We consider the chain new_pr2F0G1(x4, x5, x6, Zero, x7) -> new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7), new_pr2F0G(x8, x9, Pos(Succ(Succ(x10))), x11) -> new_pr2F0G1(x8, x9, Succ(x10), x10, x11) which results in the following constraint: (1) (new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7)=new_pr2F0G(x8, x9, Pos(Succ(Succ(x10))), x11) ==> new_pr2F0G1(x4, x5, x6, Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x6)=x84 & Succ(Zero)=x85 & new_primDivNatS1(x84, x85)=Succ(Succ(x10)) ==> new_pr2F0G1(x4, x5, x6, Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x84, x85)=Succ(Succ(x10)) which results in the following new constraints: (3) (new_primDivNatS02(x88, x87, x88, x87)=Succ(Succ(x10)) & Succ(x6)=Succ(Succ(x88)) & Succ(Zero)=Succ(x87) ==> new_pr2F0G1(x4, x5, x6, Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x90), Zero))=Succ(Succ(x10)) & Succ(x6)=Succ(Succ(x90)) & Succ(Zero)=Zero ==> new_pr2F0G1(x4, x5, x6, Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x10)) & Succ(x6)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G1(x4, x5, x6, Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(x6), Succ(Zero))), x7)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x88=x91 & x87=x92 & new_primDivNatS02(x88, x87, x91, x92)=Succ(Succ(x10)) & Zero=x87 ==> new_pr2F0G1(x4, x5, Succ(x88), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(x88)), Succ(Zero))), x7)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x88, x87, x91, x92)=Succ(Succ(x10)) which results in the following new constraints: (7) (new_primDivNatS01(x94, x93)=Succ(Succ(x10)) & x94=Zero & x93=Zero & Zero=x93 ==> new_pr2F0G1(x4, x5, Succ(x94), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(x94)), Succ(Zero))), x7)) (8) (new_primDivNatS01(x97, x96)=Succ(Succ(x10)) & x97=Succ(x95) & x96=Zero & Zero=x96 ==> new_pr2F0G1(x4, x5, Succ(x97), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(x97)), Succ(Zero))), x7)) (9) (new_primDivNatS02(x104, x103, x102, x101)=Succ(Succ(x10)) & x104=Succ(x102) & x103=Succ(x101) & Zero=x103 & (\/x105,x106,x107,x108:new_primDivNatS02(x104, x103, x102, x101)=Succ(Succ(x105)) & x104=x102 & x103=x101 & Zero=x103 ==> new_pr2F0G1(x106, x107, Succ(x104), Zero, x108)_>=_new_pr2F0G(x106, new_sr1(x107, x108), Pos(new_primDivNatS1(Succ(Succ(x104)), Succ(Zero))), x108)) ==> new_pr2F0G1(x4, x5, Succ(x104), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(x104)), Succ(Zero))), x7)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G1(x4, x5, Succ(Zero), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x7)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G1(x4, x5, Succ(Succ(x95)), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(Succ(x95))), Succ(Zero))), x7)) We solved constraint (9) using rules (I), (II), (III). *We consider the chain new_pr2F0G1(x12, x13, x14, Zero, x15) -> new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15), new_pr2F0G(x16, x17, Pos(Succ(Succ(x18))), x19) -> H(x16, x17, Succ(x18), x19, anew_new_pr2F0G1(x18)) which results in the following constraint: (1) (new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15)=new_pr2F0G(x16, x17, Pos(Succ(Succ(x18))), x19) ==> new_pr2F0G1(x12, x13, x14, Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(x14)=x113 & Succ(Zero)=x114 & new_primDivNatS1(x113, x114)=Succ(Succ(x18)) ==> new_pr2F0G1(x12, x13, x14, Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS1(x113, x114)=Succ(Succ(x18)) which results in the following new constraints: (3) (new_primDivNatS02(x117, x116, x117, x116)=Succ(Succ(x18)) & Succ(x14)=Succ(Succ(x117)) & Succ(Zero)=Succ(x116) ==> new_pr2F0G1(x12, x13, x14, Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15)) (4) (Succ(new_primDivNatS1(new_primMinusNatS0(x119), Zero))=Succ(Succ(x18)) & Succ(x14)=Succ(Succ(x119)) & Succ(Zero)=Zero ==> new_pr2F0G1(x12, x13, x14, Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15)) (5) (Succ(new_primDivNatS1(new_primMinusNatS1, Zero))=Succ(Succ(x18)) & Succ(x14)=Succ(Zero) & Succ(Zero)=Zero ==> new_pr2F0G1(x12, x13, x14, Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(x14), Succ(Zero))), x15)) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (6) (x117=x120 & x116=x121 & new_primDivNatS02(x117, x116, x120, x121)=Succ(Succ(x18)) & Zero=x116 ==> new_pr2F0G1(x12, x13, Succ(x117), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(x117)), Succ(Zero))), x15)) We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primDivNatS02(x117, x116, x120, x121)=Succ(Succ(x18)) which results in the following new constraints: (7) (new_primDivNatS01(x123, x122)=Succ(Succ(x18)) & x123=Zero & x122=Zero & Zero=x122 ==> new_pr2F0G1(x12, x13, Succ(x123), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(x123)), Succ(Zero))), x15)) (8) (new_primDivNatS01(x126, x125)=Succ(Succ(x18)) & x126=Succ(x124) & x125=Zero & Zero=x125 ==> new_pr2F0G1(x12, x13, Succ(x126), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(x126)), Succ(Zero))), x15)) (9) (new_primDivNatS02(x133, x132, x131, x130)=Succ(Succ(x18)) & x133=Succ(x131) & x132=Succ(x130) & Zero=x132 & (\/x134,x135,x136,x137:new_primDivNatS02(x133, x132, x131, x130)=Succ(Succ(x134)) & x133=x131 & x132=x130 & Zero=x132 ==> new_pr2F0G1(x135, x136, Succ(x133), Zero, x137)_>=_new_pr2F0G(x135, new_sr1(x136, x137), Pos(new_primDivNatS1(Succ(Succ(x133)), Succ(Zero))), x137)) ==> new_pr2F0G1(x12, x13, Succ(x133), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(x133)), Succ(Zero))), x15)) We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_pr2F0G1(x12, x13, Succ(Zero), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x15)) We simplified constraint (8) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (11) (new_pr2F0G1(x12, x13, Succ(Succ(x124)), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(Succ(x124))), Succ(Zero))), x15)) We solved constraint (9) using rules (I), (II), (III). For Pair new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) the following chains were created: *We consider the chain new_pr2F0G(x24, x25, Pos(Succ(Succ(x26))), x27) -> new_pr2F0G1(x24, x25, Succ(x26), x26, x27), new_pr2F0G1(x28, x29, x30, Zero, x31) -> new_pr2F0G(x28, new_sr1(x29, x31), Pos(new_primDivNatS1(Succ(x30), Succ(Zero))), x31) which results in the following constraint: (1) (new_pr2F0G1(x24, x25, Succ(x26), x26, x27)=new_pr2F0G1(x28, x29, x30, Zero, x31) ==> new_pr2F0G(x24, x25, Pos(Succ(Succ(x26))), x27)_>=_new_pr2F0G1(x24, x25, Succ(x26), x26, x27)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_pr2F0G(x24, x25, Pos(Succ(Succ(Zero))), x27)_>=_new_pr2F0G1(x24, x25, Succ(Zero), Zero, x27)) For Pair new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G1(vyv222000)) the following chains were created: *We consider the chain new_pr2F0G(x56, x57, Pos(Succ(Succ(x58))), x59) -> H(x56, x57, Succ(x58), x59, anew_new_pr2F0G1(x58)), H(x60, x61, x62, x63, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(x60, x61, x62, Zero, x63) which results in the following constraint: (1) (H(x56, x57, Succ(x58), x59, anew_new_pr2F0G1(x58))=H(x60, x61, x62, x63, cons_new_pr2F0G1(Zero)) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(x58))), x59)_>=_H(x56, x57, Succ(x58), x59, anew_new_pr2F0G1(x58))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_pr2F0G1(x58)=cons_new_pr2F0G1(Zero) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(x58))), x59)_>=_H(x56, x57, Succ(x58), x59, anew_new_pr2F0G1(x58))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_pr2F0G1(x58)=cons_new_pr2F0G1(Zero) which results in the following new constraint: (3) (new_new_pr2F0G1(x142)=cons_new_pr2F0G1(Zero) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(x142))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(x142))), x59, anew_new_pr2F0G1(Succ(Succ(x142))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_pr2F0G1(x142)=cons_new_pr2F0G1(Zero) which results in the following new constraints: (4) (new_new_pr2F0G1(x143)=cons_new_pr2F0G1(Zero) & (\/x144,x145,x146:new_new_pr2F0G1(x143)=cons_new_pr2F0G1(Zero) ==> new_pr2F0G(x144, x145, Pos(Succ(Succ(Succ(Succ(x143))))), x146)_>=_H(x144, x145, Succ(Succ(Succ(x143))), x146, anew_new_pr2F0G1(Succ(Succ(x143))))) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x143))))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(Succ(Succ(x143))))), x59, anew_new_pr2F0G1(Succ(Succ(Succ(Succ(x143))))))) (5) (cons_new_pr2F0G1(Zero)=cons_new_pr2F0G1(Zero) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(Zero))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(Zero))), x59, anew_new_pr2F0G1(Succ(Succ(Zero))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x144,x145,x146:new_new_pr2F0G1(x143)=cons_new_pr2F0G1(Zero) ==> new_pr2F0G(x144, x145, Pos(Succ(Succ(Succ(Succ(x143))))), x146)_>=_H(x144, x145, Succ(Succ(Succ(x143))), x146, anew_new_pr2F0G1(Succ(Succ(x143))))) with sigma = [x144 / x56, x145 / x57, x146 / x59] which results in the following new constraint: (6) (new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(x143))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(x143))), x59, anew_new_pr2F0G1(Succ(Succ(x143)))) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x143))))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(Succ(Succ(x143))))), x59, anew_new_pr2F0G1(Succ(Succ(Succ(Succ(x143))))))) We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (7) (new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(Zero))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(Zero))), x59, anew_new_pr2F0G1(Succ(Succ(Zero))))) For Pair H(vyv226, vyv227, vyv228, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) the following chains were created: *We consider the chain H(x64, x65, x66, x67, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(x64, x65, x66, Zero, x67), new_pr2F0G1(x68, x69, x70, Zero, x71) -> new_pr2F0G(x68, new_sr1(x69, x71), Pos(new_primDivNatS1(Succ(x70), Succ(Zero))), x71) which results in the following constraint: (1) (new_pr2F0G1(x64, x65, x66, Zero, x67)=new_pr2F0G1(x68, x69, x70, Zero, x71) ==> H(x64, x65, x66, x67, cons_new_pr2F0G1(Zero))_>=_new_pr2F0G1(x64, x65, x66, Zero, x67)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x64, x65, x66, x67, cons_new_pr2F0G1(Zero))_>=_new_pr2F0G1(x64, x65, x66, Zero, x67)) To summarize, we get the following constraints P__>=_ for the following pairs. *new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) *(new_pr2F0G1(x4, x5, Succ(Zero), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x7)) *(new_pr2F0G1(x4, x5, Succ(Succ(x95)), Zero, x7)_>=_new_pr2F0G(x4, new_sr1(x5, x7), Pos(new_primDivNatS1(Succ(Succ(Succ(x95))), Succ(Zero))), x7)) *(new_pr2F0G1(x12, x13, Succ(Zero), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(Zero)), Succ(Zero))), x15)) *(new_pr2F0G1(x12, x13, Succ(Succ(x124)), Zero, x15)_>=_new_pr2F0G(x12, new_sr1(x13, x15), Pos(new_primDivNatS1(Succ(Succ(Succ(x124))), Succ(Zero))), x15)) *new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) *(new_pr2F0G(x24, x25, Pos(Succ(Succ(Zero))), x27)_>=_new_pr2F0G1(x24, x25, Succ(Zero), Zero, x27)) *new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G1(vyv222000)) *(new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(x143))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(x143))), x59, anew_new_pr2F0G1(Succ(Succ(x143)))) ==> new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x143))))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(Succ(Succ(x143))))), x59, anew_new_pr2F0G1(Succ(Succ(Succ(Succ(x143))))))) *(new_pr2F0G(x56, x57, Pos(Succ(Succ(Succ(Succ(Zero))))), x59)_>=_H(x56, x57, Succ(Succ(Succ(Zero))), x59, anew_new_pr2F0G1(Succ(Succ(Zero))))) *H(vyv226, vyv227, vyv228, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) *(H(x64, x65, x66, x67, cons_new_pr2F0G1(Zero))_>=_new_pr2F0G1(x64, x65, x66, Zero, x67)) 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. ---------------------------------------- (933) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) -> new_pr2F0G(vyv226, new_sr1(vyv227, ba), Pos(new_primDivNatS1(Succ(vyv228), Succ(Zero))), ba) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> new_pr2F0G1(vyv187, vyv183, Succ(vyv222000), vyv222000, h) new_pr2F0G(vyv187, vyv183, Pos(Succ(Succ(vyv222000))), h) -> H(vyv187, vyv183, Succ(vyv222000), h, anew_new_pr2F0G1(vyv222000)) H(vyv226, vyv227, vyv228, ba, cons_new_pr2F0G1(Zero)) -> new_pr2F0G1(vyv226, vyv227, vyv228, Zero, ba) The TRS R consists of the following rules: new_sr2(vyv227, vyv226, ty_Int) -> new_sr14(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Double) -> new_sr11(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Integer) -> new_sr8(vyv227, vyv226) new_sr2(vyv227, vyv226, ty_Float) -> new_sr13(vyv227, vyv226) new_sr2(vyv227, vyv226, app(ty_Ratio, be)) -> new_sr12(vyv227, vyv226, be) new_sr12(:%(vyv2390, vyv2391), :%(vyv2380, vyv2381), bf) -> new_reduce2Reduce1(vyv2390, vyv2380, vyv2391, vyv2381, new_esEs2(vyv2391, vyv2381, bf), bf) new_esEs2(vyv2391, vyv2381, ty_Int) -> new_esEs(new_sr14(vyv2391, vyv2381)) new_esEs2(vyv2391, vyv2381, ty_Integer) -> new_esEs1(new_sr8(vyv2391, vyv2381)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, False, bh) -> :%(new_quot1(vyv264, vyv265, vyv266, vyv267, bh), new_quot2(vyv266, vyv267, vyv264, vyv265, bh)) new_reduce2Reduce1(vyv264, vyv265, vyv266, vyv267, True, bh) -> error([]) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Int) -> new_quot0(new_sr14(vyv264, vyv265), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot1(vyv264, vyv265, vyv266, vyv267, ty_Integer) -> new_quot(new_sr8(vyv264, vyv265), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Int) -> new_quot0(new_sr14(vyv266, vyv267), new_sr14(vyv264, vyv265), new_sr14(vyv266, vyv267)) new_quot2(vyv266, vyv267, vyv264, vyv265, ty_Integer) -> new_quot(new_sr8(vyv266, vyv267), new_sr8(vyv264, vyv265), new_sr8(vyv266, vyv267)) new_sr8(vyv239, vyv238) -> error([]) new_quot(vyv273, vyv275, vyv274) -> error([]) new_sr14(Pos(vyv2390), Neg(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Pos(vyv2380)) -> Neg(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Neg(vyv2390), Neg(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_sr14(Pos(vyv2390), Pos(vyv2380)) -> Pos(new_primMulNat0(vyv2390, vyv2380)) new_quot0(Neg(vyv2700), vyv272, vyv271) -> new_primQuotInt0(vyv2700, new_gcd(vyv272, vyv271)) new_quot0(Pos(vyv2700), vyv272, vyv271) -> new_primQuotInt(vyv2700, new_gcd(vyv272, vyv271)) new_gcd(vyv272, vyv271) -> new_gcd2(new_esEs(vyv272), vyv272, vyv271) new_primQuotInt(vyv2700, Pos(Succ(vyv28400))) -> Pos(new_primDivNatS1(vyv2700, vyv28400)) new_primQuotInt(vyv2700, Neg(Zero)) -> new_error new_primQuotInt(vyv2700, Pos(Zero)) -> new_error new_primQuotInt(vyv2700, Neg(Succ(vyv28400))) -> Neg(new_primDivNatS1(vyv2700, vyv28400)) new_primDivNatS1(Succ(Zero), Succ(vyv284000)) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Succ(vyv284000)) -> new_primDivNatS02(vyv270000, vyv284000, vyv270000, vyv284000) new_primDivNatS1(Zero, vyv28400) -> Zero new_primDivNatS1(Succ(Succ(vyv270000)), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS0(vyv270000), Zero)) new_primDivNatS1(Succ(Zero), Zero) -> Succ(new_primDivNatS1(new_primMinusNatS1, Zero)) new_primMinusNatS1 -> Zero new_primMinusNatS0(vyv270000) -> Succ(vyv270000) new_primDivNatS02(vyv310, vyv311, Zero, Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Zero) -> new_primDivNatS01(vyv310, vyv311) new_primDivNatS02(vyv310, vyv311, Zero, Succ(vyv3130)) -> Zero new_primDivNatS02(vyv310, vyv311, Succ(vyv3120), Succ(vyv3130)) -> new_primDivNatS02(vyv310, vyv311, vyv3120, vyv3130) new_primDivNatS01(vyv310, vyv311) -> Succ(new_primDivNatS1(new_primMinusNatS2(vyv310, vyv311), Succ(vyv311))) new_primMinusNatS2(Zero, Succ(vyv3110)) -> Zero new_primMinusNatS2(Succ(vyv3100), Zero) -> Succ(vyv3100) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS2(vyv3100, vyv3110) new_error -> error([]) new_esEs(Neg(Zero)) -> new_primEqInt(Neg(Zero)) new_esEs(Pos(Succ(vyv24100))) -> new_primEqInt(Pos(Succ(vyv24100))) new_esEs(Pos(Zero)) -> new_primEqInt(Pos(Zero)) new_esEs(Neg(Succ(vyv24100))) -> new_primEqInt(Neg(Succ(vyv24100))) new_gcd2(True, vyv272, vyv271) -> new_gcd1(new_esEs(vyv271), vyv272, vyv271) new_gcd2(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_gcd0(vyv272, vyv271) -> new_gcd0Gcd'10(new_esEs(new_abs(vyv271)), vyv272, vyv271) new_abs(Neg(Zero)) -> Neg(Zero) new_abs(Neg(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Succ(vyv27100))) -> Pos(Succ(vyv27100)) new_abs(Pos(Zero)) -> Pos(Zero) new_gcd0Gcd'10(True, vyv272, vyv271) -> new_abs(vyv272) new_gcd0Gcd'10(False, vyv272, vyv271) -> new_gcd0Gcd'00(new_abs(vyv272), new_abs(vyv271)) new_gcd0Gcd'11(False, vyv291, vyv292) -> new_gcd0Gcd'00(vyv291, new_rem(vyv292, vyv291)) new_gcd0Gcd'00(vyv292, vyv291) -> new_gcd0Gcd'11(new_esEs(new_rem(vyv292, vyv291)), vyv291, vyv292) new_rem(Pos(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Pos(Zero)) -> new_error new_rem(Pos(vyv2920), Neg(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Pos(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Succ(vyv29100))) -> Pos(new_primModNatS1(vyv2920, vyv29100)) new_rem(Neg(vyv2920), Neg(Zero)) -> new_error new_rem(Neg(vyv2920), Neg(Succ(vyv29100))) -> Neg(new_primModNatS1(vyv2920, vyv29100)) new_rem(Pos(vyv2920), Pos(Zero)) -> new_error new_gcd0Gcd'11(True, vyv291, vyv292) -> vyv291 new_primModNatS1(Succ(Zero), Succ(vyv291000)) -> Succ(Zero) new_primModNatS1(Zero, vyv29100) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vyv292000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vyv292000), Zero) new_primModNatS1(Succ(Succ(vyv292000)), Succ(vyv291000)) -> new_primModNatS01(vyv292000, vyv291000, vyv292000, vyv291000) new_primModNatS01(vyv330, vyv331, Zero, Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS02(vyv330, vyv331) -> new_primModNatS1(new_primMinusNatS2(Succ(vyv330), Succ(vyv331)), Succ(vyv331)) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Zero) -> new_primModNatS02(vyv330, vyv331) new_primModNatS01(vyv330, vyv331, Succ(vyv3320), Succ(vyv3330)) -> new_primModNatS01(vyv330, vyv331, vyv3320, vyv3330) new_primModNatS01(vyv330, vyv331, Zero, Succ(vyv3330)) -> Succ(Succ(vyv330)) new_gcd1(True, vyv272, vyv271) -> new_error new_gcd1(False, vyv272, vyv271) -> new_gcd0(vyv272, vyv271) new_primEqInt(Neg(Succ(vyv242000))) -> False new_primEqInt(Pos(Zero)) -> True new_primEqInt(Pos(Succ(vyv242000))) -> False new_primEqInt(Neg(Zero)) -> True new_primQuotInt0(vyv2700, Pos(Succ(vyv28700))) -> Neg(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Neg(Zero)) -> new_error new_primQuotInt0(vyv2700, Neg(Succ(vyv28700))) -> Pos(new_primDivNatS1(vyv2700, vyv28700)) new_primQuotInt0(vyv2700, Pos(Zero)) -> new_error new_primMulNat0(Succ(vyv23900), Zero) -> Zero new_primMulNat0(Zero, Succ(vyv23800)) -> Zero new_primMulNat0(Zero, Zero) -> Zero new_primMulNat0(Succ(vyv23900), Succ(vyv23800)) -> new_primPlusNat0(new_primMulNat0(vyv23900, Succ(vyv23800)), Succ(vyv23800)) new_primPlusNat0(Succ(vyv4000), Succ(vyv5000)) -> Succ(Succ(new_primPlusNat0(vyv4000, vyv5000))) new_primPlusNat0(Zero, Succ(vyv5000)) -> Succ(vyv5000) new_primPlusNat0(Zero, Zero) -> Zero new_primPlusNat0(Succ(vyv4000), Zero) -> Succ(vyv4000) new_esEs1(Integer(vyv2690)) -> new_primEqInt(vyv2690) new_sr13(vyv239, vyv238) -> error([]) new_sr11(vyv239, vyv238) -> error([]) new_sr1(vyv227, ty_Int) -> new_sr6(vyv227) new_sr1(vyv227, ty_Integer) -> new_sr7(vyv227) new_sr1(vyv227, app(ty_Ratio, be)) -> new_sr5(vyv227, be) new_sr1(vyv227, ty_Float) -> new_sr10(vyv227) new_sr1(vyv227, ty_Double) -> new_sr9(vyv227) new_sr9(vyv183) -> error([]) new_sr10(vyv183) -> error([]) new_sr5(:%(vyv1830, vyv1831), bd) -> new_reduce2Reduce1(vyv1830, vyv1830, vyv1831, vyv1831, new_esEs0(vyv1831, bd), bd) new_esEs0(vyv1831, ty_Int) -> new_esEs(new_sr6(vyv1831)) new_esEs0(vyv1831, ty_Integer) -> new_esEs1(new_sr7(vyv1831)) new_sr7(vyv183) -> error([]) new_sr6(Neg(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_sr6(Pos(vyv1830)) -> Pos(new_primMulNat1(vyv1830)) new_primMulNat1(Succ(vyv18300)) -> new_primPlusNat0(new_primMulNat2(vyv18300), Succ(vyv18300)) new_primMulNat1(Zero) -> Zero new_primMulNat2(Succ(vyv183000)) -> new_primPlusNat0(new_primMulNat3(vyv183000), Succ(Succ(vyv183000))) new_primMulNat2(Zero) -> Zero new_primMulNat3(Succ(vyv1830000)) -> new_primPlusNat0(new_primMulNat4(vyv1830000), Succ(Succ(Succ(vyv1830000)))) new_primMulNat3(Zero) -> Zero new_primMulNat4(Succ(vyv18300000)) -> new_primPlusNat0(new_primMulNat0(vyv18300000, Succ(Succ(Succ(Succ(vyv18300000))))), Succ(Succ(Succ(Succ(vyv18300000))))) new_primMulNat4(Zero) -> Zero anew_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) new_new_pr2F0G1(Succ(Succ(vyv22900))) -> new_new_pr2F0G1(vyv22900) new_new_pr2F0G1(Zero) -> cons_new_pr2F0G1(Zero) The set Q consists of the following terms: new_rem(Pos(x0), Pos(Succ(x1))) new_quot1(x0, x1, x2, x3, ty_Integer) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMulNat4(Zero) new_gcd1(False, x0, x1) new_primEqInt(Pos(Zero)) new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) new_rem(Pos(x0), Neg(Succ(x1))) new_rem(Neg(x0), Pos(Succ(x1))) new_sr10(x0) new_quot1(x0, x1, x2, x3, ty_Int) new_quot2(x0, x1, x2, x3, ty_Integer) new_primModNatS01(x0, x1, Succ(x2), Zero) new_primMulNat3(Zero) new_primDivNatS02(x0, x1, Succ(x2), Zero) new_quot2(x0, x1, x2, x3, ty_Int) new_gcd2(False, x0, x1) new_primDivNatS1(Succ(Zero), Zero) new_esEs0(x0, ty_Int) new_sr14(Pos(x0), Pos(x1)) new_primMulNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_primMulNat2(Zero) new_sr11(x0, x1) new_primModNatS01(x0, x1, Zero, Zero) new_esEs2(x0, x1, ty_Int) new_gcd1(True, x0, x1) new_sr13(x0, x1) new_sr14(Pos(x0), Neg(x1)) new_sr14(Neg(x0), Pos(x1)) new_primDivNatS1(Succ(Succ(x0)), Succ(x1)) new_sr1(x0, ty_Int) new_primModNatS1(Zero, x0) new_esEs(Pos(Succ(x0))) new_primMulNat3(Succ(x0)) new_sr1(x0, app(ty_Ratio, x1)) new_primQuotInt(x0, Neg(Succ(x1))) new_reduce2Reduce1(x0, x1, x2, x3, False, x4) new_primDivNatS1(Zero, x0) new_primDivNatS02(x0, x1, Succ(x2), Succ(x3)) new_primModNatS02(x0, x1) new_primDivNatS1(Succ(Zero), Succ(x0)) new_sr6(Neg(x0)) new_gcd0Gcd'10(True, x0, x1) new_primMulNat0(Succ(x0), Succ(x1)) new_abs(Neg(Zero)) new_rem(Pos(x0), Neg(Zero)) new_rem(Neg(x0), Pos(Zero)) new_primMinusNatS2(Zero, Succ(x0)) new_esEs(Neg(Succ(x0))) new_error new_primModNatS1(Succ(Zero), Zero) new_primMulNat0(Zero, Succ(x0)) new_quot(x0, x1, x2) new_gcd2(True, x0, x1) new_gcd0Gcd'11(True, x0, x1) new_primEqInt(Neg(Zero)) new_sr2(x0, x1, ty_Double) new_primMulNat0(Succ(x0), Zero) new_quot0(Neg(x0), x1, x2) new_primMinusNatS2(Succ(x0), Succ(x1)) new_sr8(x0, x1) new_primDivNatS01(x0, x1) new_primDivNatS02(x0, x1, Zero, Succ(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_sr1(x0, ty_Integer) new_primPlusNat0(Zero, Zero) new_sr1(x0, ty_Float) new_sr12(:%(x0, x1), :%(x2, x3), x4) new_abs(Neg(Succ(x0))) new_sr1(x0, ty_Double) new_sr7(x0) new_gcd0(x0, x1) new_primQuotInt0(x0, Pos(Succ(x1))) new_sr5(:%(x0, x1), x2) new_primMinusNatS2(Zero, Zero) new_primMulNat1(Succ(x0)) new_abs(Pos(Succ(x0))) new_esEs(Pos(Zero)) new_primQuotInt0(x0, Pos(Zero)) new_primEqInt(Neg(Succ(x0))) new_primQuotInt(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Zero)) new_primQuotInt0(x0, Neg(Succ(x1))) new_gcd(x0, x1) new_quot0(Pos(x0), x1, x2) new_primMinusNatS0(x0) new_primPlusNat0(Zero, Succ(x0)) new_sr2(x0, x1, app(ty_Ratio, x2)) new_sr2(x0, x1, ty_Int) new_primQuotInt(x0, Pos(Succ(x1))) new_primDivNatS1(Succ(Succ(x0)), Zero) new_rem(Pos(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primDivNatS02(x0, x1, Zero, Zero) new_abs(Pos(Zero)) new_gcd0Gcd'10(False, x0, x1) new_primMinusNatS1 new_esEs1(Integer(x0)) new_sr2(x0, x1, ty_Integer) new_primModNatS01(x0, x1, Zero, Succ(x2)) new_primMulNat2(Succ(x0)) new_sr14(Neg(x0), Neg(x1)) new_sr2(x0, x1, ty_Float) new_primMinusNatS2(Succ(x0), Zero) new_sr6(Pos(x0)) new_esEs2(x0, x1, ty_Integer) new_primMulNat4(Succ(x0)) new_rem(Neg(x0), Neg(Succ(x1))) new_primEqInt(Pos(Succ(x0))) new_primQuotInt(x0, Pos(Zero)) new_gcd0Gcd'11(False, x0, x1) new_sr9(x0) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs0(x0, ty_Integer) new_gcd0Gcd'00(x0, x1) new_reduce2Reduce1(x0, x1, x2, x3, True, x4) new_esEs(Neg(Zero)) new_primMulNat1(Zero) new_rem(Neg(x0), Neg(Zero)) new_new_pr2F0G1(Succ(Succ(x0))) anew_new_pr2F0G1(Succ(Succ(x0))) new_new_pr2F0G1(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (934) Obligation: Q DP problem: The TRS P consists of the following rules: new_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) 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_pr2F0G1(vyv226, vyv227, vyv228, Succ(Succ(vyv22900)), ba) -> new_pr2F0G1(vyv226, vyv227, vyv228, vyv22900, ba) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 >= 5 ---------------------------------------- (936) YES ---------------------------------------- (937) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNatS(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS(vyv3100, vyv3110) 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_primMinusNatS(Succ(vyv3100), Succ(vyv3110)) -> new_primMinusNatS(vyv3100, vyv3110) 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(vyv4000), Succ(vyv5000)) -> new_primPlusNat(vyv4000, vyv5000) 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(vyv4000), Succ(vyv5000)) -> new_primPlusNat(vyv4000, vyv5000) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (942) YES ---------------------------------------- (943) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNat(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat(vyv2280, vyv244000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (944) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primMinusNat(Succ(vyv2280), Succ(vyv244000)) -> new_primMinusNat(vyv2280, vyv244000) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (945) YES ---------------------------------------- (946) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="(^)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="(^) vyv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="(^) vyv3 vyv4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="pr4 vyv3 vyv4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="pr3 (vyv4 == fromInt (Pos Zero)) vyv3 vyv4",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="pr3 (primEqInt vyv4 (fromInt (Pos Zero))) vyv3 vyv4",fontsize=16,color="burlywood",shape="box"];4392[label="vyv4/Pos vyv40",fontsize=10,color="white",style="solid",shape="box"];7 -> 4392[label="",style="solid", color="burlywood", weight=9]; 4392 -> 8[label="",style="solid", color="burlywood", weight=3]; 4393[label="vyv4/Neg vyv40",fontsize=10,color="white",style="solid",shape="box"];7 -> 4393[label="",style="solid", color="burlywood", weight=9]; 4393 -> 9[label="",style="solid", color="burlywood", weight=3]; 8[label="pr3 (primEqInt (Pos vyv40) (fromInt (Pos Zero))) vyv3 (Pos vyv40)",fontsize=16,color="burlywood",shape="box"];4394[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];8 -> 4394[label="",style="solid", color="burlywood", weight=9]; 4394 -> 10[label="",style="solid", color="burlywood", weight=3]; 4395[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];8 -> 4395[label="",style="solid", color="burlywood", weight=9]; 4395 -> 11[label="",style="solid", color="burlywood", weight=3]; 9[label="pr3 (primEqInt (Neg vyv40) (fromInt (Pos Zero))) vyv3 (Neg vyv40)",fontsize=16,color="burlywood",shape="box"];4396[label="vyv40/Succ vyv400",fontsize=10,color="white",style="solid",shape="box"];9 -> 4396[label="",style="solid", color="burlywood", weight=9]; 4396 -> 12[label="",style="solid", color="burlywood", weight=3]; 4397[label="vyv40/Zero",fontsize=10,color="white",style="solid",shape="box"];9 -> 4397[label="",style="solid", color="burlywood", weight=9]; 4397 -> 13[label="",style="solid", color="burlywood", weight=3]; 10[label="pr3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];10 -> 14[label="",style="solid", color="black", weight=3]; 11[label="pr3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];11 -> 15[label="",style="solid", color="black", weight=3]; 12[label="pr3 (primEqInt (Neg (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];12 -> 16[label="",style="solid", color="black", weight=3]; 13[label="pr3 (primEqInt (Neg Zero) (fromInt (Pos Zero))) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];13 -> 17[label="",style="solid", color="black", weight=3]; 14[label="pr3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];14 -> 18[label="",style="solid", color="black", weight=3]; 15[label="pr3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];15 -> 19[label="",style="solid", color="black", weight=3]; 16[label="pr3 (primEqInt (Neg (Succ vyv400)) (Pos Zero)) vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];16 -> 20[label="",style="solid", color="black", weight=3]; 17[label="pr3 (primEqInt (Neg Zero) (Pos Zero)) vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];17 -> 21[label="",style="solid", color="black", weight=3]; 18[label="pr3 False vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 19[label="pr3 True vyv3 (Pos Zero)",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 20[label="pr3 False vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 21[label="pr3 True vyv3 (Neg Zero)",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 22[label="pr2 vyv3 (Pos (Succ vyv400))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 23[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];23 -> 27[label="",style="solid", color="black", weight=3]; 24[label="pr2 vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 25 -> 23[label="",style="dashed", color="red", weight=0]; 25[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];26[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (Pos (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];26 -> 29[label="",style="solid", color="black", weight=3]; 27[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];27 -> 30[label="",style="solid", color="black", weight=3]; 28[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (Neg (Succ vyv400) > fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];28 -> 31[label="",style="solid", color="black", weight=3]; 29[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (compare (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];29 -> 32[label="",style="solid", color="black", weight=3]; 30[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];30 -> 33[label="",style="dashed", color="green", weight=3]; 30 -> 34[label="",style="dashed", color="green", weight=3]; 31[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (compare (Neg (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 32[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 33[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];33 -> 37[label="",style="solid", color="black", weight=3]; 34 -> 33[label="",style="dashed", color="red", weight=0]; 34[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];35[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (primCmpInt (Neg (Succ vyv400)) (fromInt (Pos Zero)) == GT)",fontsize=16,color="black",shape="box"];35 -> 38[label="",style="solid", color="black", weight=3]; 36[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpInt (Pos (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];36 -> 39[label="",style="solid", color="black", weight=3]; 37[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];38[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (primCmpInt (Neg (Succ vyv400)) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];38 -> 40[label="",style="solid", color="black", weight=3]; 39[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (primCmpNat (Succ vyv400) Zero == GT)",fontsize=16,color="black",shape="box"];39 -> 41[label="",style="solid", color="black", weight=3]; 40[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) (LT == GT)",fontsize=16,color="black",shape="box"];40 -> 42[label="",style="solid", color="black", weight=3]; 41[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) (GT == GT)",fontsize=16,color="black",shape="box"];41 -> 43[label="",style="solid", color="black", weight=3]; 42[label="pr2Pr1 vyv3 (Neg (Succ vyv400)) False",fontsize=16,color="black",shape="box"];42 -> 44[label="",style="solid", color="black", weight=3]; 43[label="pr2Pr1 vyv3 (Pos (Succ vyv400)) True",fontsize=16,color="black",shape="box"];43 -> 45[label="",style="solid", color="black", weight=3]; 44[label="pr0 vyv3 (Neg (Succ vyv400))",fontsize=16,color="black",shape="box"];44 -> 46[label="",style="solid", color="black", weight=3]; 45 -> 47[label="",style="dashed", color="red", weight=0]; 45[label="pr2F vyv3 (Pos (Succ vyv400) - fromInt (Pos (Succ Zero))) vyv3",fontsize=16,color="magenta"];45 -> 48[label="",style="dashed", color="magenta", weight=3]; 46[label="error []",fontsize=16,color="black",shape="box"];46 -> 49[label="",style="solid", color="black", weight=3]; 48 -> 33[label="",style="dashed", color="red", weight=0]; 48[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];47[label="pr2F vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="triangle"];47 -> 50[label="",style="solid", color="black", weight=3]; 49[label="error []",fontsize=16,color="red",shape="box"];50[label="pr2F4 vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];50 -> 51[label="",style="solid", color="black", weight=3]; 51[label="pr2F3 (Pos (Succ vyv400) - vyv5 == fromInt (Pos Zero)) vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];51 -> 52[label="",style="solid", color="black", weight=3]; 52[label="pr2F3 (primEqInt (Pos (Succ vyv400) - vyv5) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400) - vyv5) vyv3",fontsize=16,color="black",shape="box"];52 -> 53[label="",style="solid", color="black", weight=3]; 53[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) vyv5) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) vyv5) vyv3",fontsize=16,color="burlywood",shape="box"];4398[label="vyv5/Pos vyv50",fontsize=10,color="white",style="solid",shape="box"];53 -> 4398[label="",style="solid", color="burlywood", weight=9]; 4398 -> 54[label="",style="solid", color="burlywood", weight=3]; 4399[label="vyv5/Neg vyv50",fontsize=10,color="white",style="solid",shape="box"];53 -> 4399[label="",style="solid", color="burlywood", weight=9]; 4399 -> 55[label="",style="solid", color="burlywood", weight=3]; 54[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) (Pos vyv50)) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) (Pos vyv50)) vyv3",fontsize=16,color="black",shape="box"];54 -> 56[label="",style="solid", color="black", weight=3]; 55[label="pr2F3 (primEqInt (primMinusInt (Pos (Succ vyv400)) (Neg vyv50)) (fromInt (Pos Zero))) vyv3 (primMinusInt (Pos (Succ vyv400)) (Neg vyv50)) vyv3",fontsize=16,color="black",shape="box"];55 -> 57[label="",style="solid", color="black", weight=3]; 56[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) vyv50) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) vyv50) vyv3",fontsize=16,color="burlywood",shape="box"];4400[label="vyv50/Succ vyv500",fontsize=10,color="white",style="solid",shape="box"];56 -> 4400[label="",style="solid", color="burlywood", weight=9]; 4400 -> 58[label="",style="solid", color="burlywood", weight=3]; 4401[label="vyv50/Zero",fontsize=10,color="white",style="solid",shape="box"];56 -> 4401[label="",style="solid", color="burlywood", weight=9]; 4401 -> 59[label="",style="solid", color="burlywood", weight=3]; 57[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) vyv50)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) vyv50)) vyv3",fontsize=16,color="burlywood",shape="box"];4402[label="vyv50/Succ vyv500",fontsize=10,color="white",style="solid",shape="box"];57 -> 4402[label="",style="solid", color="burlywood", weight=9]; 4402 -> 60[label="",style="solid", color="burlywood", weight=3]; 4403[label="vyv50/Zero",fontsize=10,color="white",style="solid",shape="box"];57 -> 4403[label="",style="solid", color="burlywood", weight=9]; 4403 -> 61[label="",style="solid", color="burlywood", weight=3]; 58[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) (Succ vyv500)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) (Succ vyv500)) vyv3",fontsize=16,color="black",shape="box"];58 -> 62[label="",style="solid", color="black", weight=3]; 59[label="pr2F3 (primEqInt (primMinusNat (Succ vyv400) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv400) Zero) vyv3",fontsize=16,color="black",shape="box"];59 -> 63[label="",style="solid", color="black", weight=3]; 60[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) (Succ vyv500))) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) (Succ vyv500))) vyv3",fontsize=16,color="black",shape="box"];60 -> 64[label="",style="solid", color="black", weight=3]; 61[label="pr2F3 (primEqInt (Pos (primPlusNat (Succ vyv400) Zero)) (fromInt (Pos Zero))) vyv3 (Pos (primPlusNat (Succ vyv400) Zero)) vyv3",fontsize=16,color="black",shape="box"];61 -> 65[label="",style="solid", color="black", weight=3]; 62[label="pr2F3 (primEqInt (primMinusNat vyv400 vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv400 vyv500) vyv3",fontsize=16,color="burlywood",shape="triangle"];4404[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];62 -> 4404[label="",style="solid", color="burlywood", weight=9]; 4404 -> 66[label="",style="solid", color="burlywood", weight=3]; 4405[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];62 -> 4405[label="",style="solid", color="burlywood", weight=9]; 4405 -> 67[label="",style="solid", color="burlywood", weight=3]; 63[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="triangle"];63 -> 68[label="",style="solid", color="black", weight=3]; 64 -> 63[label="",style="dashed", color="red", weight=0]; 64[label="pr2F3 (primEqInt (Pos (Succ (Succ (primPlusNat vyv400 vyv500)))) (fromInt (Pos Zero))) vyv3 (Pos (Succ (Succ (primPlusNat vyv400 vyv500)))) vyv3",fontsize=16,color="magenta"];64 -> 69[label="",style="dashed", color="magenta", weight=3]; 65 -> 63[label="",style="dashed", color="red", weight=0]; 65[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];66[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) vyv500) vyv3",fontsize=16,color="burlywood",shape="box"];4406[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];66 -> 4406[label="",style="solid", color="burlywood", weight=9]; 4406 -> 70[label="",style="solid", color="burlywood", weight=3]; 4407[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];66 -> 4407[label="",style="solid", color="burlywood", weight=9]; 4407 -> 71[label="",style="solid", color="burlywood", weight=3]; 67[label="pr2F3 (primEqInt (primMinusNat Zero vyv500) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero vyv500) vyv3",fontsize=16,color="burlywood",shape="box"];4408[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];67 -> 4408[label="",style="solid", color="burlywood", weight=9]; 4408 -> 72[label="",style="solid", color="burlywood", weight=3]; 4409[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 4409[label="",style="solid", color="burlywood", weight=9]; 4409 -> 73[label="",style="solid", color="burlywood", weight=3]; 68[label="pr2F3 (primEqInt (Pos (Succ vyv400)) (Pos Zero)) vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];68 -> 74[label="",style="solid", color="black", weight=3]; 69[label="Succ (primPlusNat vyv400 vyv500)",fontsize=16,color="green",shape="box"];69 -> 75[label="",style="dashed", color="green", weight=3]; 70[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];70 -> 76[label="",style="solid", color="black", weight=3]; 71[label="pr2F3 (primEqInt (primMinusNat (Succ vyv4000) Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat (Succ vyv4000) Zero) vyv3",fontsize=16,color="black",shape="box"];71 -> 77[label="",style="solid", color="black", weight=3]; 72[label="pr2F3 (primEqInt (primMinusNat Zero (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];72 -> 78[label="",style="solid", color="black", weight=3]; 73[label="pr2F3 (primEqInt (primMinusNat Zero Zero) (fromInt (Pos Zero))) vyv3 (primMinusNat Zero Zero) vyv3",fontsize=16,color="black",shape="box"];73 -> 79[label="",style="solid", color="black", weight=3]; 74[label="pr2F3 False vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="black",shape="box"];74 -> 80[label="",style="solid", color="black", weight=3]; 75[label="primPlusNat vyv400 vyv500",fontsize=16,color="burlywood",shape="triangle"];4410[label="vyv400/Succ vyv4000",fontsize=10,color="white",style="solid",shape="box"];75 -> 4410[label="",style="solid", color="burlywood", weight=9]; 4410 -> 81[label="",style="solid", color="burlywood", weight=3]; 4411[label="vyv400/Zero",fontsize=10,color="white",style="solid",shape="box"];75 -> 4411[label="",style="solid", color="burlywood", weight=9]; 4411 -> 82[label="",style="solid", color="burlywood", weight=3]; 76 -> 62[label="",style="dashed", color="red", weight=0]; 76[label="pr2F3 (primEqInt (primMinusNat vyv4000 vyv5000) (fromInt (Pos Zero))) vyv3 (primMinusNat vyv4000 vyv5000) vyv3",fontsize=16,color="magenta"];76 -> 83[label="",style="dashed", color="magenta", weight=3]; 76 -> 84[label="",style="dashed", color="magenta", weight=3]; 77 -> 63[label="",style="dashed", color="red", weight=0]; 77[label="pr2F3 (primEqInt (Pos (Succ vyv4000)) (fromInt (Pos Zero))) vyv3 (Pos (Succ vyv4000)) vyv3",fontsize=16,color="magenta"];77 -> 85[label="",style="dashed", color="magenta", weight=3]; 78[label="pr2F3 (primEqInt (Neg (Succ vyv5000)) (fromInt (Pos Zero))) vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];78 -> 86[label="",style="solid", color="black", weight=3]; 79[label="pr2F3 (primEqInt (Pos Zero) (fromInt (Pos Zero))) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];79 -> 87[label="",style="solid", color="black", weight=3]; 80 -> 2999[label="",style="dashed", color="red", weight=0]; 80[label="pr2F0 vyv3 (Pos (Succ vyv400)) vyv3",fontsize=16,color="magenta"];80 -> 3000[label="",style="dashed", color="magenta", weight=3]; 80 -> 3001[label="",style="dashed", color="magenta", weight=3]; 80 -> 3002[label="",style="dashed", color="magenta", weight=3]; 81[label="primPlusNat (Succ vyv4000) vyv500",fontsize=16,color="burlywood",shape="box"];4412[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];81 -> 4412[label="",style="solid", color="burlywood", weight=9]; 4412 -> 89[label="",style="solid", color="burlywood", weight=3]; 4413[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];81 -> 4413[label="",style="solid", color="burlywood", weight=9]; 4413 -> 90[label="",style="solid", color="burlywood", weight=3]; 82[label="primPlusNat Zero vyv500",fontsize=16,color="burlywood",shape="box"];4414[label="vyv500/Succ vyv5000",fontsize=10,color="white",style="solid",shape="box"];82 -> 4414[label="",style="solid", color="burlywood", weight=9]; 4414 -> 91[label="",style="solid", color="burlywood", weight=3]; 4415[label="vyv500/Zero",fontsize=10,color="white",style="solid",shape="box"];82 -> 4415[label="",style="solid", color="burlywood", weight=9]; 4415 -> 92[label="",style="solid", color="burlywood", weight=3]; 83[label="vyv5000",fontsize=16,color="green",shape="box"];84[label="vyv4000",fontsize=16,color="green",shape="box"];85[label="vyv4000",fontsize=16,color="green",shape="box"];86[label="pr2F3 (primEqInt (Neg (Succ vyv5000)) (Pos Zero)) vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];86 -> 93[label="",style="solid", color="black", weight=3]; 87[label="pr2F3 (primEqInt (Pos Zero) (Pos Zero)) vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];87 -> 94[label="",style="solid", color="black", weight=3]; 3000[label="vyv3",fontsize=16,color="green",shape="box"];3001[label="Pos (Succ vyv400)",fontsize=16,color="green",shape="box"];3002[label="vyv3",fontsize=16,color="green",shape="box"];2999[label="pr2F0 vyv183 vyv222 vyv187",fontsize=16,color="black",shape="triangle"];2999 -> 3016[label="",style="solid", color="black", weight=3]; 89[label="primPlusNat (Succ vyv4000) (Succ vyv5000)",fontsize=16,color="black",shape="box"];89 -> 96[label="",style="solid", color="black", weight=3]; 90[label="primPlusNat (Succ vyv4000) Zero",fontsize=16,color="black",shape="box"];90 -> 97[label="",style="solid", color="black", weight=3]; 91[label="primPlusNat Zero (Succ vyv5000)",fontsize=16,color="black",shape="box"];91 -> 98[label="",style="solid", color="black", weight=3]; 92[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];92 -> 99[label="",style="solid", color="black", weight=3]; 93[label="pr2F3 False vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="black",shape="box"];93 -> 100[label="",style="solid", color="black", weight=3]; 94[label="pr2F3 True vyv3 (Pos Zero) vyv3",fontsize=16,color="black",shape="box"];94 -> 101[label="",style="solid", color="black", weight=3]; 3016[label="pr2F0G vyv187 vyv183 vyv222",fontsize=16,color="black",shape="triangle"];3016 -> 3017[label="",style="solid", color="black", weight=3]; 96[label="Succ (Succ (primPlusNat vyv4000 vyv5000))",fontsize=16,color="green",shape="box"];96 -> 103[label="",style="dashed", color="green", weight=3]; 97[label="Succ vyv4000",fontsize=16,color="green",shape="box"];98[label="Succ vyv5000",fontsize=16,color="green",shape="box"];99[label="Zero",fontsize=16,color="green",shape="box"];100 -> 2999[label="",style="dashed", color="red", weight=0]; 100[label="pr2F0 vyv3 (Neg (Succ vyv5000)) vyv3",fontsize=16,color="magenta"];100 -> 3003[label="",style="dashed", color="magenta", weight=3]; 100 -> 3004[label="",style="dashed", color="magenta", weight=3]; 100 -> 3005[label="",style="dashed", color="magenta", weight=3]; 101[label="vyv3",fontsize=16,color="green",shape="box"];3017[label="pr2F0G2 vyv187 vyv183 vyv222",fontsize=16,color="black",shape="box"];3017 -> 3018[label="",style="solid", color="black", weight=3]; 103 -> 75[label="",style="dashed", color="red", weight=0]; 103[label="primPlusNat vyv4000 vyv5000",fontsize=16,color="magenta"];103 -> 106[label="",style="dashed", color="magenta", weight=3]; 103 -> 107[label="",style="dashed", color="magenta", weight=3]; 3003[label="vyv3",fontsize=16,color="green",shape="box"];3004[label="Neg (Succ vyv5000)",fontsize=16,color="green",shape="box"];3005[label="vyv3",fontsize=16,color="green",shape="box"];3018[label="pr2F0G1 vyv187 vyv183 vyv222 (even vyv222)",fontsize=16,color="black",shape="box"];3018 -> 3019[label="",style="solid", color="black", weight=3]; 106[label="vyv5000",fontsize=16,color="green",shape="box"];107[label="vyv4000",fontsize=16,color="green",shape="box"];3019[label="pr2F0G1 vyv187 vyv183 vyv222 (primEvenInt vyv222)",fontsize=16,color="burlywood",shape="box"];4416[label="vyv222/Pos vyv2220",fontsize=10,color="white",style="solid",shape="box"];3019 -> 4416[label="",style="solid", color="burlywood", weight=9]; 4416 -> 3020[label="",style="solid", color="burlywood", weight=3]; 4417[label="vyv222/Neg vyv2220",fontsize=10,color="white",style="solid",shape="box"];3019 -> 4417[label="",style="solid", color="burlywood", weight=9]; 4417 -> 3021[label="",style="solid", color="burlywood", weight=3]; 3020[label="pr2F0G1 vyv187 vyv183 (Pos vyv2220) (primEvenInt (Pos vyv2220))",fontsize=16,color="black",shape="box"];3020 -> 3022[label="",style="solid", color="black", weight=3]; 3021[label="pr2F0G1 vyv187 vyv183 (Neg vyv2220) (primEvenInt (Neg vyv2220))",fontsize=16,color="black",shape="box"];3021 -> 3023[label="",style="solid", color="black", weight=3]; 3022[label="pr2F0G1 vyv187 vyv183 (Pos vyv2220) (primEvenNat vyv2220)",fontsize=16,color="burlywood",shape="box"];4418[label="vyv2220/Succ vyv22200",fontsize=10,color="white",style="solid",shape="box"];3022 -> 4418[label="",style="solid", color="burlywood", weight=9]; 4418 -> 3024[label="",style="solid", color="burlywood", weight=3]; 4419[label="vyv2220/Zero",fontsize=10,color="white",style="solid",shape="box"];3022 -> 4419[label="",style="solid", color="burlywood", weight=9]; 4419 -> 3025[label="",style="solid", color="burlywood", weight=3]; 3023[label="pr2F0G1 vyv187 vyv183 (Neg vyv2220) (primEvenNat vyv2220)",fontsize=16,color="burlywood",shape="box"];4420[label="vyv2220/Succ vyv22200",fontsize=10,color="white",style="solid",shape="box"];3023 -> 4420[label="",style="solid", color="burlywood", weight=9]; 4420 -> 3026[label="",style="solid", color="burlywood", weight=3]; 4421[label="vyv2220/Zero",fontsize=10,color="white",style="solid",shape="box"];3023 -> 4421[label="",style="solid", color="burlywood", weight=9]; 4421 -> 3027[label="",style="solid", color="burlywood", weight=3]; 3024[label="pr2F0G1 vyv187 vyv183 (Pos (Succ vyv22200)) (primEvenNat (Succ vyv22200))",fontsize=16,color="burlywood",shape="box"];4422[label="vyv22200/Succ vyv222000",fontsize=10,color="white",style="solid",shape="box"];3024 -> 4422[label="",style="solid", color="burlywood", weight=9]; 4422 -> 3028[label="",style="solid", color="burlywood", weight=3]; 4423[label="vyv22200/Zero",fontsize=10,color="white",style="solid",shape="box"];3024 -> 4423[label="",style="solid", color="burlywood", weight=9]; 4423 -> 3029[label="",style="solid", color="burlywood", weight=3]; 3025[label="pr2F0G1 vyv187 vyv183 (Pos Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3025 -> 3030[label="",style="solid", color="black", weight=3]; 3026[label="pr2F0G1 vyv187 vyv183 (Neg (Succ vyv22200)) (primEvenNat (Succ vyv22200))",fontsize=16,color="burlywood",shape="box"];4424[label="vyv22200/Succ vyv222000",fontsize=10,color="white",style="solid",shape="box"];3026 -> 4424[label="",style="solid", color="burlywood", weight=9]; 4424 -> 3031[label="",style="solid", color="burlywood", weight=3]; 4425[label="vyv22200/Zero",fontsize=10,color="white",style="solid",shape="box"];3026 -> 4425[label="",style="solid", color="burlywood", weight=9]; 4425 -> 3032[label="",style="solid", color="burlywood", weight=3]; 3027[label="pr2F0G1 vyv187 vyv183 (Neg Zero) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3027 -> 3033[label="",style="solid", color="black", weight=3]; 3028[label="pr2F0G1 vyv187 vyv183 (Pos (Succ (Succ vyv222000))) (primEvenNat (Succ (Succ vyv222000)))",fontsize=16,color="black",shape="box"];3028 -> 3034[label="",style="solid", color="black", weight=3]; 3029[label="pr2F0G1 vyv187 vyv183 (Pos (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3029 -> 3035[label="",style="solid", color="black", weight=3]; 3030[label="pr2F0G1 vyv187 vyv183 (Pos Zero) True",fontsize=16,color="black",shape="box"];3030 -> 3036[label="",style="solid", color="black", weight=3]; 3031[label="pr2F0G1 vyv187 vyv183 (Neg (Succ (Succ vyv222000))) (primEvenNat (Succ (Succ vyv222000)))",fontsize=16,color="black",shape="box"];3031 -> 3037[label="",style="solid", color="black", weight=3]; 3032[label="pr2F0G1 vyv187 vyv183 (Neg (Succ Zero)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3032 -> 3038[label="",style="solid", color="black", weight=3]; 3033[label="pr2F0G1 vyv187 vyv183 (Neg Zero) True",fontsize=16,color="black",shape="box"];3033 -> 3039[label="",style="solid", color="black", weight=3]; 3034 -> 3147[label="",style="dashed", color="red", weight=0]; 3034[label="pr2F0G1 vyv187 vyv183 (Pos (Succ (Succ vyv222000))) (primEvenNat vyv222000)",fontsize=16,color="magenta"];3034 -> 3148[label="",style="dashed", color="magenta", weight=3]; 3034 -> 3149[label="",style="dashed", color="magenta", weight=3]; 3034 -> 3150[label="",style="dashed", color="magenta", weight=3]; 3034 -> 3151[label="",style="dashed", color="magenta", weight=3]; 3035[label="pr2F0G1 vyv187 vyv183 (Pos (Succ Zero)) False",fontsize=16,color="black",shape="box"];3035 -> 3042[label="",style="solid", color="black", weight=3]; 3036 -> 3016[label="",style="dashed", color="red", weight=0]; 3036[label="pr2F0G vyv187 (vyv183 * vyv183) (Pos Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3036 -> 3043[label="",style="dashed", color="magenta", weight=3]; 3036 -> 3044[label="",style="dashed", color="magenta", weight=3]; 3037 -> 3379[label="",style="dashed", color="red", weight=0]; 3037[label="pr2F0G1 vyv187 vyv183 (Neg (Succ (Succ vyv222000))) (primEvenNat vyv222000)",fontsize=16,color="magenta"];3037 -> 3380[label="",style="dashed", color="magenta", weight=3]; 3037 -> 3381[label="",style="dashed", color="magenta", weight=3]; 3037 -> 3382[label="",style="dashed", color="magenta", weight=3]; 3037 -> 3383[label="",style="dashed", color="magenta", weight=3]; 3038 -> 3175[label="",style="dashed", color="red", weight=0]; 3038[label="pr2F0G1 vyv187 vyv183 (Neg (Succ Zero)) False",fontsize=16,color="magenta"];3038 -> 3176[label="",style="dashed", color="magenta", weight=3]; 3038 -> 3177[label="",style="dashed", color="magenta", weight=3]; 3038 -> 3178[label="",style="dashed", color="magenta", weight=3]; 3039 -> 3016[label="",style="dashed", color="red", weight=0]; 3039[label="pr2F0G vyv187 (vyv183 * vyv183) (Neg Zero `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3039 -> 3048[label="",style="dashed", color="magenta", weight=3]; 3039 -> 3049[label="",style="dashed", color="magenta", weight=3]; 3148[label="vyv222000",fontsize=16,color="green",shape="box"];3149[label="vyv183",fontsize=16,color="green",shape="box"];3150[label="vyv187",fontsize=16,color="green",shape="box"];3151[label="Succ vyv222000",fontsize=16,color="green",shape="box"];3147[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat vyv229)",fontsize=16,color="burlywood",shape="triangle"];4426[label="vyv229/Succ vyv2290",fontsize=10,color="white",style="solid",shape="box"];3147 -> 4426[label="",style="solid", color="burlywood", weight=9]; 4426 -> 3160[label="",style="solid", color="burlywood", weight=3]; 4427[label="vyv229/Zero",fontsize=10,color="white",style="solid",shape="box"];3147 -> 4427[label="",style="solid", color="burlywood", weight=9]; 4427 -> 3161[label="",style="solid", color="burlywood", weight=3]; 3042[label="pr2F0G0 vyv187 vyv183 (Pos (Succ Zero)) otherwise",fontsize=16,color="black",shape="box"];3042 -> 3053[label="",style="solid", color="black", weight=3]; 3043[label="vyv183 * vyv183",fontsize=16,color="blue",shape="box"];4428[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4428[label="",style="solid", color="blue", weight=9]; 4428 -> 3054[label="",style="solid", color="blue", weight=3]; 4429[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4429[label="",style="solid", color="blue", weight=9]; 4429 -> 3055[label="",style="solid", color="blue", weight=3]; 4430[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4430[label="",style="solid", color="blue", weight=9]; 4430 -> 3056[label="",style="solid", color="blue", weight=3]; 4431[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4431[label="",style="solid", color="blue", weight=9]; 4431 -> 3057[label="",style="solid", color="blue", weight=3]; 4432[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3043 -> 4432[label="",style="solid", color="blue", weight=9]; 4432 -> 3058[label="",style="solid", color="blue", weight=3]; 3044[label="Pos Zero `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3044 -> 3059[label="",style="solid", color="black", weight=3]; 3380[label="Succ vyv222000",fontsize=16,color="green",shape="box"];3381[label="vyv187",fontsize=16,color="green",shape="box"];3382[label="vyv222000",fontsize=16,color="green",shape="box"];3383[label="vyv183",fontsize=16,color="green",shape="box"];3379[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat vyv251)",fontsize=16,color="burlywood",shape="triangle"];4433[label="vyv251/Succ vyv2510",fontsize=10,color="white",style="solid",shape="box"];3379 -> 4433[label="",style="solid", color="burlywood", weight=9]; 4433 -> 3400[label="",style="solid", color="burlywood", weight=3]; 4434[label="vyv251/Zero",fontsize=10,color="white",style="solid",shape="box"];3379 -> 4434[label="",style="solid", color="burlywood", weight=9]; 4434 -> 3401[label="",style="solid", color="burlywood", weight=3]; 3176[label="vyv183",fontsize=16,color="green",shape="box"];3177[label="vyv187",fontsize=16,color="green",shape="box"];3178[label="Zero",fontsize=16,color="green",shape="box"];3175[label="pr2F0G1 vyv238 vyv239 (Neg (Succ vyv240)) False",fontsize=16,color="black",shape="triangle"];3175 -> 3185[label="",style="solid", color="black", weight=3]; 3048[label="vyv183 * vyv183",fontsize=16,color="blue",shape="box"];4435[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4435[label="",style="solid", color="blue", weight=9]; 4435 -> 3064[label="",style="solid", color="blue", weight=3]; 4436[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4436[label="",style="solid", color="blue", weight=9]; 4436 -> 3065[label="",style="solid", color="blue", weight=3]; 4437[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4437[label="",style="solid", color="blue", weight=9]; 4437 -> 3066[label="",style="solid", color="blue", weight=3]; 4438[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4438[label="",style="solid", color="blue", weight=9]; 4438 -> 3067[label="",style="solid", color="blue", weight=3]; 4439[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3048 -> 4439[label="",style="solid", color="blue", weight=9]; 4439 -> 3068[label="",style="solid", color="blue", weight=3]; 3049[label="Neg Zero `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3049 -> 3069[label="",style="solid", color="black", weight=3]; 3160[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat (Succ vyv2290))",fontsize=16,color="burlywood",shape="box"];4440[label="vyv2290/Succ vyv22900",fontsize=10,color="white",style="solid",shape="box"];3160 -> 4440[label="",style="solid", color="burlywood", weight=9]; 4440 -> 3167[label="",style="solid", color="burlywood", weight=3]; 4441[label="vyv2290/Zero",fontsize=10,color="white",style="solid",shape="box"];3160 -> 4441[label="",style="solid", color="burlywood", weight=9]; 4441 -> 3168[label="",style="solid", color="burlywood", weight=3]; 3161[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3161 -> 3169[label="",style="solid", color="black", weight=3]; 3053[label="pr2F0G0 vyv187 vyv183 (Pos (Succ Zero)) True",fontsize=16,color="black",shape="box"];3053 -> 3073[label="",style="solid", color="black", weight=3]; 3054[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3054 -> 3074[label="",style="solid", color="black", weight=3]; 3055[label="vyv183 * vyv183",fontsize=16,color="burlywood",shape="triangle"];4442[label="vyv183/vyv1830 :% vyv1831",fontsize=10,color="white",style="solid",shape="box"];3055 -> 4442[label="",style="solid", color="burlywood", weight=9]; 4442 -> 3075[label="",style="solid", color="burlywood", weight=3]; 3056[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3056 -> 3076[label="",style="solid", color="black", weight=3]; 3057[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3057 -> 3077[label="",style="solid", color="black", weight=3]; 3058[label="vyv183 * vyv183",fontsize=16,color="black",shape="triangle"];3058 -> 3078[label="",style="solid", color="black", weight=3]; 3059 -> 3740[label="",style="dashed", color="red", weight=0]; 3059[label="primQuotInt (Pos Zero) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3059 -> 3741[label="",style="dashed", color="magenta", weight=3]; 3059 -> 3742[label="",style="dashed", color="magenta", weight=3]; 3400[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat (Succ vyv2510))",fontsize=16,color="burlywood",shape="box"];4443[label="vyv2510/Succ vyv25100",fontsize=10,color="white",style="solid",shape="box"];3400 -> 4443[label="",style="solid", color="burlywood", weight=9]; 4443 -> 3443[label="",style="solid", color="burlywood", weight=3]; 4444[label="vyv2510/Zero",fontsize=10,color="white",style="solid",shape="box"];3400 -> 4444[label="",style="solid", color="burlywood", weight=9]; 4444 -> 3444[label="",style="solid", color="burlywood", weight=3]; 3401[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat Zero)",fontsize=16,color="black",shape="box"];3401 -> 3445[label="",style="solid", color="black", weight=3]; 3185[label="pr2F0G0 vyv238 vyv239 (Neg (Succ vyv240)) otherwise",fontsize=16,color="black",shape="box"];3185 -> 3202[label="",style="solid", color="black", weight=3]; 3064 -> 3054[label="",style="dashed", color="red", weight=0]; 3064[label="vyv183 * vyv183",fontsize=16,color="magenta"];3065 -> 3055[label="",style="dashed", color="red", weight=0]; 3065[label="vyv183 * vyv183",fontsize=16,color="magenta"];3066 -> 3056[label="",style="dashed", color="red", weight=0]; 3066[label="vyv183 * vyv183",fontsize=16,color="magenta"];3067 -> 3057[label="",style="dashed", color="red", weight=0]; 3067[label="vyv183 * vyv183",fontsize=16,color="magenta"];3068 -> 3058[label="",style="dashed", color="red", weight=0]; 3068[label="vyv183 * vyv183",fontsize=16,color="magenta"];3069 -> 3777[label="",style="dashed", color="red", weight=0]; 3069[label="primQuotInt (Neg Zero) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3069 -> 3778[label="",style="dashed", color="magenta", weight=3]; 3069 -> 3779[label="",style="dashed", color="magenta", weight=3]; 3167[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat (Succ (Succ vyv22900)))",fontsize=16,color="black",shape="box"];3167 -> 3186[label="",style="solid", color="black", weight=3]; 3168[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3168 -> 3187[label="",style="solid", color="black", weight=3]; 3169[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) True",fontsize=16,color="black",shape="box"];3169 -> 3188[label="",style="solid", color="black", weight=3]; 3073 -> 3255[label="",style="dashed", color="red", weight=0]; 3073[label="pr2F vyv183 (Pos (Succ Zero) - fromInt (Pos (Succ Zero))) (vyv183 * vyv187)",fontsize=16,color="magenta"];3073 -> 3256[label="",style="dashed", color="magenta", weight=3]; 3073 -> 3257[label="",style="dashed", color="magenta", weight=3]; 3073 -> 3258[label="",style="dashed", color="magenta", weight=3]; 3073 -> 3259[label="",style="dashed", color="magenta", weight=3]; 3074[label="error []",fontsize=16,color="red",shape="box"];3075[label="vyv1830 :% vyv1831 * (vyv1830 :% vyv1831)",fontsize=16,color="black",shape="box"];3075 -> 3092[label="",style="solid", color="black", weight=3]; 3076[label="error []",fontsize=16,color="red",shape="box"];3077[label="error []",fontsize=16,color="red",shape="box"];3078[label="primMulInt vyv183 vyv183",fontsize=16,color="burlywood",shape="box"];4445[label="vyv183/Pos vyv1830",fontsize=10,color="white",style="solid",shape="box"];3078 -> 4445[label="",style="solid", color="burlywood", weight=9]; 4445 -> 3093[label="",style="solid", color="burlywood", weight=3]; 4446[label="vyv183/Neg vyv1830",fontsize=10,color="white",style="solid",shape="box"];3078 -> 4446[label="",style="solid", color="burlywood", weight=9]; 4446 -> 3094[label="",style="solid", color="burlywood", weight=3]; 3741[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="triangle"];3741 -> 3765[label="",style="solid", color="black", weight=3]; 3742[label="Zero",fontsize=16,color="green",shape="box"];3740[label="primQuotInt (Pos vyv2700) vyv284",fontsize=16,color="burlywood",shape="triangle"];4447[label="vyv284/Pos vyv2840",fontsize=10,color="white",style="solid",shape="box"];3740 -> 4447[label="",style="solid", color="burlywood", weight=9]; 4447 -> 3766[label="",style="solid", color="burlywood", weight=3]; 4448[label="vyv284/Neg vyv2840",fontsize=10,color="white",style="solid",shape="box"];3740 -> 4448[label="",style="solid", color="burlywood", weight=9]; 4448 -> 3767[label="",style="solid", color="burlywood", weight=3]; 3443[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat (Succ (Succ vyv25100)))",fontsize=16,color="black",shape="box"];3443 -> 3473[label="",style="solid", color="black", weight=3]; 3444[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat (Succ Zero))",fontsize=16,color="black",shape="box"];3444 -> 3474[label="",style="solid", color="black", weight=3]; 3445[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) True",fontsize=16,color="black",shape="box"];3445 -> 3475[label="",style="solid", color="black", weight=3]; 3202[label="pr2F0G0 vyv238 vyv239 (Neg (Succ vyv240)) True",fontsize=16,color="black",shape="box"];3202 -> 3219[label="",style="solid", color="black", weight=3]; 3778[label="Zero",fontsize=16,color="green",shape="box"];3779 -> 3741[label="",style="dashed", color="red", weight=0]; 3779[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3777[label="primQuotInt (Neg vyv2700) vyv287",fontsize=16,color="burlywood",shape="triangle"];4449[label="vyv287/Pos vyv2870",fontsize=10,color="white",style="solid",shape="box"];3777 -> 4449[label="",style="solid", color="burlywood", weight=9]; 4449 -> 3802[label="",style="solid", color="burlywood", weight=3]; 4450[label="vyv287/Neg vyv2870",fontsize=10,color="white",style="solid",shape="box"];3777 -> 4450[label="",style="solid", color="burlywood", weight=9]; 4450 -> 3803[label="",style="solid", color="burlywood", weight=3]; 3186 -> 3147[label="",style="dashed", color="red", weight=0]; 3186[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) (primEvenNat vyv22900)",fontsize=16,color="magenta"];3186 -> 3203[label="",style="dashed", color="magenta", weight=3]; 3187[label="pr2F0G1 vyv226 vyv227 (Pos (Succ vyv228)) False",fontsize=16,color="black",shape="box"];3187 -> 3204[label="",style="solid", color="black", weight=3]; 3188 -> 3016[label="",style="dashed", color="red", weight=0]; 3188[label="pr2F0G vyv226 (vyv227 * vyv227) (Pos (Succ vyv228) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3188 -> 3205[label="",style="dashed", color="magenta", weight=3]; 3188 -> 3206[label="",style="dashed", color="magenta", weight=3]; 3188 -> 3207[label="",style="dashed", color="magenta", weight=3]; 3256 -> 33[label="",style="dashed", color="red", weight=0]; 3256[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3257[label="vyv183",fontsize=16,color="green",shape="box"];3258[label="vyv187",fontsize=16,color="green",shape="box"];3259[label="Zero",fontsize=16,color="green",shape="box"];3255[label="pr2F vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="triangle"];3255 -> 3265[label="",style="solid", color="black", weight=3]; 3092[label="reduce (vyv1830 * vyv1830) (vyv1831 * vyv1831)",fontsize=16,color="black",shape="box"];3092 -> 3115[label="",style="solid", color="black", weight=3]; 3093[label="primMulInt (Pos vyv1830) (Pos vyv1830)",fontsize=16,color="black",shape="box"];3093 -> 3116[label="",style="solid", color="black", weight=3]; 3094[label="primMulInt (Neg vyv1830) (Neg vyv1830)",fontsize=16,color="black",shape="box"];3094 -> 3117[label="",style="solid", color="black", weight=3]; 3765[label="Pos (Succ (Succ Zero))",fontsize=16,color="green",shape="box"];3766[label="primQuotInt (Pos vyv2700) (Pos vyv2840)",fontsize=16,color="burlywood",shape="box"];4451[label="vyv2840/Succ vyv28400",fontsize=10,color="white",style="solid",shape="box"];3766 -> 4451[label="",style="solid", color="burlywood", weight=9]; 4451 -> 3772[label="",style="solid", color="burlywood", weight=3]; 4452[label="vyv2840/Zero",fontsize=10,color="white",style="solid",shape="box"];3766 -> 4452[label="",style="solid", color="burlywood", weight=9]; 4452 -> 3773[label="",style="solid", color="burlywood", weight=3]; 3767[label="primQuotInt (Pos vyv2700) (Neg vyv2840)",fontsize=16,color="burlywood",shape="box"];4453[label="vyv2840/Succ vyv28400",fontsize=10,color="white",style="solid",shape="box"];3767 -> 4453[label="",style="solid", color="burlywood", weight=9]; 4453 -> 3774[label="",style="solid", color="burlywood", weight=3]; 4454[label="vyv2840/Zero",fontsize=10,color="white",style="solid",shape="box"];3767 -> 4454[label="",style="solid", color="burlywood", weight=9]; 4454 -> 3775[label="",style="solid", color="burlywood", weight=3]; 3473 -> 3379[label="",style="dashed", color="red", weight=0]; 3473[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) (primEvenNat vyv25100)",fontsize=16,color="magenta"];3473 -> 3511[label="",style="dashed", color="magenta", weight=3]; 3474 -> 3175[label="",style="dashed", color="red", weight=0]; 3474[label="pr2F0G1 vyv248 vyv249 (Neg (Succ vyv250)) False",fontsize=16,color="magenta"];3474 -> 3512[label="",style="dashed", color="magenta", weight=3]; 3474 -> 3513[label="",style="dashed", color="magenta", weight=3]; 3474 -> 3514[label="",style="dashed", color="magenta", weight=3]; 3475 -> 3016[label="",style="dashed", color="red", weight=0]; 3475[label="pr2F0G vyv248 (vyv249 * vyv249) (Neg (Succ vyv250) `quot` fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3475 -> 3515[label="",style="dashed", color="magenta", weight=3]; 3475 -> 3516[label="",style="dashed", color="magenta", weight=3]; 3475 -> 3517[label="",style="dashed", color="magenta", weight=3]; 3219 -> 3229[label="",style="dashed", color="red", weight=0]; 3219[label="pr2F vyv239 (Neg (Succ vyv240) - fromInt (Pos (Succ Zero))) (vyv239 * vyv238)",fontsize=16,color="magenta"];3219 -> 3230[label="",style="dashed", color="magenta", weight=3]; 3802[label="primQuotInt (Neg vyv2700) (Pos vyv2870)",fontsize=16,color="burlywood",shape="box"];4455[label="vyv2870/Succ vyv28700",fontsize=10,color="white",style="solid",shape="box"];3802 -> 4455[label="",style="solid", color="burlywood", weight=9]; 4455 -> 3810[label="",style="solid", color="burlywood", weight=3]; 4456[label="vyv2870/Zero",fontsize=10,color="white",style="solid",shape="box"];3802 -> 4456[label="",style="solid", color="burlywood", weight=9]; 4456 -> 3811[label="",style="solid", color="burlywood", weight=3]; 3803[label="primQuotInt (Neg vyv2700) (Neg vyv2870)",fontsize=16,color="burlywood",shape="box"];4457[label="vyv2870/Succ vyv28700",fontsize=10,color="white",style="solid",shape="box"];3803 -> 4457[label="",style="solid", color="burlywood", weight=9]; 4457 -> 3812[label="",style="solid", color="burlywood", weight=3]; 4458[label="vyv2870/Zero",fontsize=10,color="white",style="solid",shape="box"];3803 -> 4458[label="",style="solid", color="burlywood", weight=9]; 4458 -> 3813[label="",style="solid", color="burlywood", weight=3]; 3203[label="vyv22900",fontsize=16,color="green",shape="box"];3204[label="pr2F0G0 vyv226 vyv227 (Pos (Succ vyv228)) otherwise",fontsize=16,color="black",shape="box"];3204 -> 3220[label="",style="solid", color="black", weight=3]; 3205[label="vyv227 * vyv227",fontsize=16,color="blue",shape="box"];4459[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4459[label="",style="solid", color="blue", weight=9]; 4459 -> 3221[label="",style="solid", color="blue", weight=3]; 4460[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4460[label="",style="solid", color="blue", weight=9]; 4460 -> 3222[label="",style="solid", color="blue", weight=3]; 4461[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4461[label="",style="solid", color="blue", weight=9]; 4461 -> 3223[label="",style="solid", color="blue", weight=3]; 4462[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4462[label="",style="solid", color="blue", weight=9]; 4462 -> 3224[label="",style="solid", color="blue", weight=3]; 4463[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3205 -> 4463[label="",style="solid", color="blue", weight=9]; 4463 -> 3225[label="",style="solid", color="blue", weight=3]; 3206[label="Pos (Succ vyv228) `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3206 -> 3226[label="",style="solid", color="black", weight=3]; 3207[label="vyv226",fontsize=16,color="green",shape="box"];3265[label="pr2F4 vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="box"];3265 -> 3269[label="",style="solid", color="black", weight=3]; 3115[label="reduce2 (vyv1830 * vyv1830) (vyv1831 * vyv1831)",fontsize=16,color="black",shape="box"];3115 -> 3137[label="",style="solid", color="black", weight=3]; 3116[label="Pos (primMulNat vyv1830 vyv1830)",fontsize=16,color="green",shape="box"];3116 -> 3138[label="",style="dashed", color="green", weight=3]; 3117[label="Pos (primMulNat vyv1830 vyv1830)",fontsize=16,color="green",shape="box"];3117 -> 3139[label="",style="dashed", color="green", weight=3]; 3772[label="primQuotInt (Pos vyv2700) (Pos (Succ vyv28400))",fontsize=16,color="black",shape="box"];3772 -> 3804[label="",style="solid", color="black", weight=3]; 3773[label="primQuotInt (Pos vyv2700) (Pos Zero)",fontsize=16,color="black",shape="box"];3773 -> 3805[label="",style="solid", color="black", weight=3]; 3774[label="primQuotInt (Pos vyv2700) (Neg (Succ vyv28400))",fontsize=16,color="black",shape="box"];3774 -> 3806[label="",style="solid", color="black", weight=3]; 3775[label="primQuotInt (Pos vyv2700) (Neg Zero)",fontsize=16,color="black",shape="box"];3775 -> 3807[label="",style="solid", color="black", weight=3]; 3511[label="vyv25100",fontsize=16,color="green",shape="box"];3512[label="vyv249",fontsize=16,color="green",shape="box"];3513[label="vyv248",fontsize=16,color="green",shape="box"];3514[label="vyv250",fontsize=16,color="green",shape="box"];3515[label="vyv249 * vyv249",fontsize=16,color="blue",shape="box"];4464[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4464[label="",style="solid", color="blue", weight=9]; 4464 -> 3533[label="",style="solid", color="blue", weight=3]; 4465[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4465[label="",style="solid", color="blue", weight=9]; 4465 -> 3534[label="",style="solid", color="blue", weight=3]; 4466[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4466[label="",style="solid", color="blue", weight=9]; 4466 -> 3535[label="",style="solid", color="blue", weight=3]; 4467[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4467[label="",style="solid", color="blue", weight=9]; 4467 -> 3536[label="",style="solid", color="blue", weight=3]; 4468[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3515 -> 4468[label="",style="solid", color="blue", weight=9]; 4468 -> 3537[label="",style="solid", color="blue", weight=3]; 3516[label="Neg (Succ vyv250) `quot` fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3516 -> 3538[label="",style="solid", color="black", weight=3]; 3517[label="vyv248",fontsize=16,color="green",shape="box"];3230 -> 33[label="",style="dashed", color="red", weight=0]; 3230[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3229[label="pr2F vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="triangle"];3229 -> 3231[label="",style="solid", color="black", weight=3]; 3810[label="primQuotInt (Neg vyv2700) (Pos (Succ vyv28700))",fontsize=16,color="black",shape="box"];3810 -> 3820[label="",style="solid", color="black", weight=3]; 3811[label="primQuotInt (Neg vyv2700) (Pos Zero)",fontsize=16,color="black",shape="box"];3811 -> 3821[label="",style="solid", color="black", weight=3]; 3812[label="primQuotInt (Neg vyv2700) (Neg (Succ vyv28700))",fontsize=16,color="black",shape="box"];3812 -> 3822[label="",style="solid", color="black", weight=3]; 3813[label="primQuotInt (Neg vyv2700) (Neg Zero)",fontsize=16,color="black",shape="box"];3813 -> 3823[label="",style="solid", color="black", weight=3]; 3220[label="pr2F0G0 vyv226 vyv227 (Pos (Succ vyv228)) True",fontsize=16,color="black",shape="box"];3220 -> 3232[label="",style="solid", color="black", weight=3]; 3221 -> 3054[label="",style="dashed", color="red", weight=0]; 3221[label="vyv227 * vyv227",fontsize=16,color="magenta"];3221 -> 3233[label="",style="dashed", color="magenta", weight=3]; 3222 -> 3055[label="",style="dashed", color="red", weight=0]; 3222[label="vyv227 * vyv227",fontsize=16,color="magenta"];3222 -> 3234[label="",style="dashed", color="magenta", weight=3]; 3223 -> 3056[label="",style="dashed", color="red", weight=0]; 3223[label="vyv227 * vyv227",fontsize=16,color="magenta"];3223 -> 3235[label="",style="dashed", color="magenta", weight=3]; 3224 -> 3057[label="",style="dashed", color="red", weight=0]; 3224[label="vyv227 * vyv227",fontsize=16,color="magenta"];3224 -> 3236[label="",style="dashed", color="magenta", weight=3]; 3225 -> 3058[label="",style="dashed", color="red", weight=0]; 3225[label="vyv227 * vyv227",fontsize=16,color="magenta"];3225 -> 3237[label="",style="dashed", color="magenta", weight=3]; 3226 -> 3740[label="",style="dashed", color="red", weight=0]; 3226[label="primQuotInt (Pos (Succ vyv228)) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3226 -> 3745[label="",style="dashed", color="magenta", weight=3]; 3226 -> 3746[label="",style="dashed", color="magenta", weight=3]; 3269 -> 3290[label="",style="dashed", color="red", weight=0]; 3269[label="pr2F3 (Pos (Succ vyv228) - vyv244 == fromInt (Pos Zero)) vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="magenta"];3269 -> 3291[label="",style="dashed", color="magenta", weight=3]; 3137 -> 3547[label="",style="dashed", color="red", weight=0]; 3137[label="reduce2Reduce1 (vyv1830 * vyv1830) (vyv1831 * vyv1831) (vyv1830 * vyv1830) (vyv1831 * vyv1831) (vyv1831 * vyv1831 == fromInt (Pos Zero))",fontsize=16,color="magenta"];3137 -> 3548[label="",style="dashed", color="magenta", weight=3]; 3137 -> 3549[label="",style="dashed", color="magenta", weight=3]; 3137 -> 3550[label="",style="dashed", color="magenta", weight=3]; 3137 -> 3551[label="",style="dashed", color="magenta", weight=3]; 3137 -> 3552[label="",style="dashed", color="magenta", weight=3]; 3138[label="primMulNat vyv1830 vyv1830",fontsize=16,color="burlywood",shape="triangle"];4469[label="vyv1830/Succ vyv18300",fontsize=10,color="white",style="solid",shape="box"];3138 -> 4469[label="",style="solid", color="burlywood", weight=9]; 4469 -> 3170[label="",style="solid", color="burlywood", weight=3]; 4470[label="vyv1830/Zero",fontsize=10,color="white",style="solid",shape="box"];3138 -> 4470[label="",style="solid", color="burlywood", weight=9]; 4470 -> 3171[label="",style="solid", color="burlywood", weight=3]; 3139 -> 3138[label="",style="dashed", color="red", weight=0]; 3139[label="primMulNat vyv1830 vyv1830",fontsize=16,color="magenta"];3139 -> 3172[label="",style="dashed", color="magenta", weight=3]; 3804[label="Pos (primDivNatS vyv2700 (Succ vyv28400))",fontsize=16,color="green",shape="box"];3804 -> 3814[label="",style="dashed", color="green", weight=3]; 3805[label="error []",fontsize=16,color="black",shape="triangle"];3805 -> 3815[label="",style="solid", color="black", weight=3]; 3806[label="Neg (primDivNatS vyv2700 (Succ vyv28400))",fontsize=16,color="green",shape="box"];3806 -> 3816[label="",style="dashed", color="green", weight=3]; 3807 -> 3805[label="",style="dashed", color="red", weight=0]; 3807[label="error []",fontsize=16,color="magenta"];3533 -> 3054[label="",style="dashed", color="red", weight=0]; 3533[label="vyv249 * vyv249",fontsize=16,color="magenta"];3533 -> 3563[label="",style="dashed", color="magenta", weight=3]; 3534 -> 3055[label="",style="dashed", color="red", weight=0]; 3534[label="vyv249 * vyv249",fontsize=16,color="magenta"];3534 -> 3564[label="",style="dashed", color="magenta", weight=3]; 3535 -> 3056[label="",style="dashed", color="red", weight=0]; 3535[label="vyv249 * vyv249",fontsize=16,color="magenta"];3535 -> 3565[label="",style="dashed", color="magenta", weight=3]; 3536 -> 3057[label="",style="dashed", color="red", weight=0]; 3536[label="vyv249 * vyv249",fontsize=16,color="magenta"];3536 -> 3566[label="",style="dashed", color="magenta", weight=3]; 3537 -> 3058[label="",style="dashed", color="red", weight=0]; 3537[label="vyv249 * vyv249",fontsize=16,color="magenta"];3537 -> 3567[label="",style="dashed", color="magenta", weight=3]; 3538 -> 3777[label="",style="dashed", color="red", weight=0]; 3538[label="primQuotInt (Neg (Succ vyv250)) (fromInt (Pos (Succ (Succ Zero))))",fontsize=16,color="magenta"];3538 -> 3782[label="",style="dashed", color="magenta", weight=3]; 3538 -> 3783[label="",style="dashed", color="magenta", weight=3]; 3231[label="pr2F4 vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="box"];3231 -> 3254[label="",style="solid", color="black", weight=3]; 3820[label="Neg (primDivNatS vyv2700 (Succ vyv28700))",fontsize=16,color="green",shape="box"];3820 -> 3829[label="",style="dashed", color="green", weight=3]; 3821 -> 3805[label="",style="dashed", color="red", weight=0]; 3821[label="error []",fontsize=16,color="magenta"];3822[label="Pos (primDivNatS vyv2700 (Succ vyv28700))",fontsize=16,color="green",shape="box"];3822 -> 3830[label="",style="dashed", color="green", weight=3]; 3823 -> 3805[label="",style="dashed", color="red", weight=0]; 3823[label="error []",fontsize=16,color="magenta"];3232 -> 3255[label="",style="dashed", color="red", weight=0]; 3232[label="pr2F vyv227 (Pos (Succ vyv228) - fromInt (Pos (Succ Zero))) (vyv227 * vyv226)",fontsize=16,color="magenta"];3232 -> 3264[label="",style="dashed", color="magenta", weight=3]; 3233[label="vyv227",fontsize=16,color="green",shape="box"];3234[label="vyv227",fontsize=16,color="green",shape="box"];3235[label="vyv227",fontsize=16,color="green",shape="box"];3236[label="vyv227",fontsize=16,color="green",shape="box"];3237[label="vyv227",fontsize=16,color="green",shape="box"];3745 -> 3741[label="",style="dashed", color="red", weight=0]; 3745[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3746[label="Succ vyv228",fontsize=16,color="green",shape="box"];3291 -> 3217[label="",style="dashed", color="red", weight=0]; 3291[label="Pos (Succ vyv228) - vyv244 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3291 -> 3292[label="",style="dashed", color="magenta", weight=3]; 3290[label="pr2F3 vyv246 vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="burlywood",shape="triangle"];4471[label="vyv246/False",fontsize=10,color="white",style="solid",shape="box"];3290 -> 4471[label="",style="solid", color="burlywood", weight=9]; 4471 -> 3293[label="",style="solid", color="burlywood", weight=3]; 4472[label="vyv246/True",fontsize=10,color="white",style="solid",shape="box"];3290 -> 4472[label="",style="solid", color="burlywood", weight=9]; 4472 -> 3294[label="",style="solid", color="burlywood", weight=3]; 3548[label="vyv1830",fontsize=16,color="green",shape="box"];3549[label="vyv1831",fontsize=16,color="green",shape="box"];3550[label="vyv1830",fontsize=16,color="green",shape="box"];3551[label="vyv1831",fontsize=16,color="green",shape="box"];3552[label="vyv1831 * vyv1831 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];4473[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3552 -> 4473[label="",style="solid", color="blue", weight=9]; 4473 -> 3569[label="",style="solid", color="blue", weight=3]; 4474[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3552 -> 4474[label="",style="solid", color="blue", weight=9]; 4474 -> 3570[label="",style="solid", color="blue", weight=3]; 3547[label="reduce2Reduce1 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) vyv268",fontsize=16,color="burlywood",shape="triangle"];4475[label="vyv268/False",fontsize=10,color="white",style="solid",shape="box"];3547 -> 4475[label="",style="solid", color="burlywood", weight=9]; 4475 -> 3571[label="",style="solid", color="burlywood", weight=3]; 4476[label="vyv268/True",fontsize=10,color="white",style="solid",shape="box"];3547 -> 4476[label="",style="solid", color="burlywood", weight=9]; 4476 -> 3572[label="",style="solid", color="burlywood", weight=3]; 3170[label="primMulNat (Succ vyv18300) (Succ vyv18300)",fontsize=16,color="black",shape="box"];3170 -> 3197[label="",style="solid", color="black", weight=3]; 3171[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3171 -> 3198[label="",style="solid", color="black", weight=3]; 3172[label="vyv1830",fontsize=16,color="green",shape="box"];3814[label="primDivNatS vyv2700 (Succ vyv28400)",fontsize=16,color="burlywood",shape="triangle"];4477[label="vyv2700/Succ vyv27000",fontsize=10,color="white",style="solid",shape="box"];3814 -> 4477[label="",style="solid", color="burlywood", weight=9]; 4477 -> 3824[label="",style="solid", color="burlywood", weight=3]; 4478[label="vyv2700/Zero",fontsize=10,color="white",style="solid",shape="box"];3814 -> 4478[label="",style="solid", color="burlywood", weight=9]; 4478 -> 3825[label="",style="solid", color="burlywood", weight=3]; 3815[label="error []",fontsize=16,color="red",shape="box"];3816 -> 3814[label="",style="dashed", color="red", weight=0]; 3816[label="primDivNatS vyv2700 (Succ vyv28400)",fontsize=16,color="magenta"];3816 -> 3826[label="",style="dashed", color="magenta", weight=3]; 3563[label="vyv249",fontsize=16,color="green",shape="box"];3564[label="vyv249",fontsize=16,color="green",shape="box"];3565[label="vyv249",fontsize=16,color="green",shape="box"];3566[label="vyv249",fontsize=16,color="green",shape="box"];3567[label="vyv249",fontsize=16,color="green",shape="box"];3782[label="Succ vyv250",fontsize=16,color="green",shape="box"];3783 -> 3741[label="",style="dashed", color="red", weight=0]; 3783[label="fromInt (Pos (Succ (Succ Zero)))",fontsize=16,color="magenta"];3254 -> 3267[label="",style="dashed", color="red", weight=0]; 3254[label="pr2F3 (Neg (Succ vyv240) - vyv243 == fromInt (Pos Zero)) vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="magenta"];3254 -> 3268[label="",style="dashed", color="magenta", weight=3]; 3829 -> 3814[label="",style="dashed", color="red", weight=0]; 3829[label="primDivNatS vyv2700 (Succ vyv28700)",fontsize=16,color="magenta"];3829 -> 3836[label="",style="dashed", color="magenta", weight=3]; 3829 -> 3837[label="",style="dashed", color="magenta", weight=3]; 3830 -> 3814[label="",style="dashed", color="red", weight=0]; 3830[label="primDivNatS vyv2700 (Succ vyv28700)",fontsize=16,color="magenta"];3830 -> 3838[label="",style="dashed", color="magenta", weight=3]; 3830 -> 3839[label="",style="dashed", color="magenta", weight=3]; 3264 -> 33[label="",style="dashed", color="red", weight=0]; 3264[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];3292[label="Pos (Succ vyv228) - vyv244",fontsize=16,color="black",shape="triangle"];3292 -> 3318[label="",style="solid", color="black", weight=3]; 3217[label="vyv241 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];3217 -> 3251[label="",style="solid", color="black", weight=3]; 3293[label="pr2F3 False vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="box"];3293 -> 3319[label="",style="solid", color="black", weight=3]; 3294[label="pr2F3 True vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="black",shape="box"];3294 -> 3320[label="",style="solid", color="black", weight=3]; 3569 -> 3217[label="",style="dashed", color="red", weight=0]; 3569[label="vyv1831 * vyv1831 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3569 -> 3590[label="",style="dashed", color="magenta", weight=3]; 3570 -> 3591[label="",style="dashed", color="red", weight=0]; 3570[label="vyv1831 * vyv1831 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3570 -> 3592[label="",style="dashed", color="magenta", weight=3]; 3571[label="reduce2Reduce1 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) False",fontsize=16,color="black",shape="box"];3571 -> 3594[label="",style="solid", color="black", weight=3]; 3572[label="reduce2Reduce1 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) True",fontsize=16,color="black",shape="box"];3572 -> 3595[label="",style="solid", color="black", weight=3]; 3197 -> 75[label="",style="dashed", color="red", weight=0]; 3197[label="primPlusNat (primMulNat vyv18300 (Succ vyv18300)) (Succ vyv18300)",fontsize=16,color="magenta"];3197 -> 3241[label="",style="dashed", color="magenta", weight=3]; 3197 -> 3242[label="",style="dashed", color="magenta", weight=3]; 3198[label="Zero",fontsize=16,color="green",shape="box"];3824[label="primDivNatS (Succ vyv27000) (Succ vyv28400)",fontsize=16,color="black",shape="box"];3824 -> 3831[label="",style="solid", color="black", weight=3]; 3825[label="primDivNatS Zero (Succ vyv28400)",fontsize=16,color="black",shape="box"];3825 -> 3832[label="",style="solid", color="black", weight=3]; 3826[label="vyv28400",fontsize=16,color="green",shape="box"];3268 -> 3217[label="",style="dashed", color="red", weight=0]; 3268[label="Neg (Succ vyv240) - vyv243 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3268 -> 3271[label="",style="dashed", color="magenta", weight=3]; 3267[label="pr2F3 vyv245 vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="burlywood",shape="triangle"];4479[label="vyv245/False",fontsize=10,color="white",style="solid",shape="box"];3267 -> 4479[label="",style="solid", color="burlywood", weight=9]; 4479 -> 3272[label="",style="solid", color="burlywood", weight=3]; 4480[label="vyv245/True",fontsize=10,color="white",style="solid",shape="box"];3267 -> 4480[label="",style="solid", color="burlywood", weight=9]; 4480 -> 3273[label="",style="solid", color="burlywood", weight=3]; 3836[label="vyv2700",fontsize=16,color="green",shape="box"];3837[label="vyv28700",fontsize=16,color="green",shape="box"];3838[label="vyv2700",fontsize=16,color="green",shape="box"];3839[label="vyv28700",fontsize=16,color="green",shape="box"];3318[label="primMinusInt (Pos (Succ vyv228)) vyv244",fontsize=16,color="burlywood",shape="box"];4481[label="vyv244/Pos vyv2440",fontsize=10,color="white",style="solid",shape="box"];3318 -> 4481[label="",style="solid", color="burlywood", weight=9]; 4481 -> 3349[label="",style="solid", color="burlywood", weight=3]; 4482[label="vyv244/Neg vyv2440",fontsize=10,color="white",style="solid",shape="box"];3318 -> 4482[label="",style="solid", color="burlywood", weight=9]; 4482 -> 3350[label="",style="solid", color="burlywood", weight=3]; 3251[label="primEqInt vyv241 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4483[label="vyv241/Pos vyv2410",fontsize=10,color="white",style="solid",shape="box"];3251 -> 4483[label="",style="solid", color="burlywood", weight=9]; 4483 -> 3287[label="",style="solid", color="burlywood", weight=3]; 4484[label="vyv241/Neg vyv2410",fontsize=10,color="white",style="solid",shape="box"];3251 -> 4484[label="",style="solid", color="burlywood", weight=9]; 4484 -> 3288[label="",style="solid", color="burlywood", weight=3]; 3319 -> 2999[label="",style="dashed", color="red", weight=0]; 3319[label="pr2F0 vyv227 (Pos (Succ vyv228) - vyv244) (vyv227 * vyv226)",fontsize=16,color="magenta"];3319 -> 3351[label="",style="dashed", color="magenta", weight=3]; 3319 -> 3352[label="",style="dashed", color="magenta", weight=3]; 3319 -> 3353[label="",style="dashed", color="magenta", weight=3]; 3320[label="vyv227 * vyv226",fontsize=16,color="blue",shape="box"];4485[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4485[label="",style="solid", color="blue", weight=9]; 4485 -> 3354[label="",style="solid", color="blue", weight=3]; 4486[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4486[label="",style="solid", color="blue", weight=9]; 4486 -> 3355[label="",style="solid", color="blue", weight=3]; 4487[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4487[label="",style="solid", color="blue", weight=9]; 4487 -> 3356[label="",style="solid", color="blue", weight=3]; 4488[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4488[label="",style="solid", color="blue", weight=9]; 4488 -> 3357[label="",style="solid", color="blue", weight=3]; 4489[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3320 -> 4489[label="",style="solid", color="blue", weight=9]; 4489 -> 3358[label="",style="solid", color="blue", weight=3]; 3590 -> 3058[label="",style="dashed", color="red", weight=0]; 3590[label="vyv1831 * vyv1831",fontsize=16,color="magenta"];3590 -> 3597[label="",style="dashed", color="magenta", weight=3]; 3592 -> 3057[label="",style="dashed", color="red", weight=0]; 3592[label="vyv1831 * vyv1831",fontsize=16,color="magenta"];3592 -> 3598[label="",style="dashed", color="magenta", weight=3]; 3591[label="vyv269 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];4490[label="vyv269/Integer vyv2690",fontsize=10,color="white",style="solid",shape="box"];3591 -> 4490[label="",style="solid", color="burlywood", weight=9]; 4490 -> 3599[label="",style="solid", color="burlywood", weight=3]; 3594[label="reduce2Reduce0 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) otherwise",fontsize=16,color="black",shape="box"];3594 -> 3612[label="",style="solid", color="black", weight=3]; 3595[label="error []",fontsize=16,color="black",shape="box"];3595 -> 3613[label="",style="solid", color="black", weight=3]; 3241[label="Succ vyv18300",fontsize=16,color="green",shape="box"];3242[label="primMulNat vyv18300 (Succ vyv18300)",fontsize=16,color="burlywood",shape="box"];4491[label="vyv18300/Succ vyv183000",fontsize=10,color="white",style="solid",shape="box"];3242 -> 4491[label="",style="solid", color="burlywood", weight=9]; 4491 -> 3276[label="",style="solid", color="burlywood", weight=3]; 4492[label="vyv18300/Zero",fontsize=10,color="white",style="solid",shape="box"];3242 -> 4492[label="",style="solid", color="burlywood", weight=9]; 4492 -> 3277[label="",style="solid", color="burlywood", weight=3]; 3831[label="primDivNatS0 vyv27000 vyv28400 (primGEqNatS vyv27000 vyv28400)",fontsize=16,color="burlywood",shape="box"];4493[label="vyv27000/Succ vyv270000",fontsize=10,color="white",style="solid",shape="box"];3831 -> 4493[label="",style="solid", color="burlywood", weight=9]; 4493 -> 3840[label="",style="solid", color="burlywood", weight=3]; 4494[label="vyv27000/Zero",fontsize=10,color="white",style="solid",shape="box"];3831 -> 4494[label="",style="solid", color="burlywood", weight=9]; 4494 -> 3841[label="",style="solid", color="burlywood", weight=3]; 3832[label="Zero",fontsize=16,color="green",shape="box"];3271[label="Neg (Succ vyv240) - vyv243",fontsize=16,color="black",shape="triangle"];3271 -> 3296[label="",style="solid", color="black", weight=3]; 3272[label="pr2F3 False vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="box"];3272 -> 3297[label="",style="solid", color="black", weight=3]; 3273[label="pr2F3 True vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="black",shape="box"];3273 -> 3298[label="",style="solid", color="black", weight=3]; 3349[label="primMinusInt (Pos (Succ vyv228)) (Pos vyv2440)",fontsize=16,color="black",shape="box"];3349 -> 3402[label="",style="solid", color="black", weight=3]; 3350[label="primMinusInt (Pos (Succ vyv228)) (Neg vyv2440)",fontsize=16,color="black",shape="box"];3350 -> 3403[label="",style="solid", color="black", weight=3]; 3287[label="primEqInt (Pos vyv2410) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4495[label="vyv2410/Succ vyv24100",fontsize=10,color="white",style="solid",shape="box"];3287 -> 4495[label="",style="solid", color="burlywood", weight=9]; 4495 -> 3313[label="",style="solid", color="burlywood", weight=3]; 4496[label="vyv2410/Zero",fontsize=10,color="white",style="solid",shape="box"];3287 -> 4496[label="",style="solid", color="burlywood", weight=9]; 4496 -> 3314[label="",style="solid", color="burlywood", weight=3]; 3288[label="primEqInt (Neg vyv2410) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];4497[label="vyv2410/Succ vyv24100",fontsize=10,color="white",style="solid",shape="box"];3288 -> 4497[label="",style="solid", color="burlywood", weight=9]; 4497 -> 3315[label="",style="solid", color="burlywood", weight=3]; 4498[label="vyv2410/Zero",fontsize=10,color="white",style="solid",shape="box"];3288 -> 4498[label="",style="solid", color="burlywood", weight=9]; 4498 -> 3316[label="",style="solid", color="burlywood", weight=3]; 3351[label="vyv227",fontsize=16,color="green",shape="box"];3352 -> 3292[label="",style="dashed", color="red", weight=0]; 3352[label="Pos (Succ vyv228) - vyv244",fontsize=16,color="magenta"];3353[label="vyv227 * vyv226",fontsize=16,color="blue",shape="box"];4499[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4499[label="",style="solid", color="blue", weight=9]; 4499 -> 3404[label="",style="solid", color="blue", weight=3]; 4500[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4500[label="",style="solid", color="blue", weight=9]; 4500 -> 3405[label="",style="solid", color="blue", weight=3]; 4501[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4501[label="",style="solid", color="blue", weight=9]; 4501 -> 3406[label="",style="solid", color="blue", weight=3]; 4502[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4502[label="",style="solid", color="blue", weight=9]; 4502 -> 3407[label="",style="solid", color="blue", weight=3]; 4503[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3353 -> 4503[label="",style="solid", color="blue", weight=9]; 4503 -> 3408[label="",style="solid", color="blue", weight=3]; 3354 -> 3328[label="",style="dashed", color="red", weight=0]; 3354[label="vyv227 * vyv226",fontsize=16,color="magenta"];3354 -> 3409[label="",style="dashed", color="magenta", weight=3]; 3354 -> 3410[label="",style="dashed", color="magenta", weight=3]; 3355 -> 3329[label="",style="dashed", color="red", weight=0]; 3355[label="vyv227 * vyv226",fontsize=16,color="magenta"];3355 -> 3411[label="",style="dashed", color="magenta", weight=3]; 3355 -> 3412[label="",style="dashed", color="magenta", weight=3]; 3356 -> 3330[label="",style="dashed", color="red", weight=0]; 3356[label="vyv227 * vyv226",fontsize=16,color="magenta"];3356 -> 3413[label="",style="dashed", color="magenta", weight=3]; 3356 -> 3414[label="",style="dashed", color="magenta", weight=3]; 3357 -> 3331[label="",style="dashed", color="red", weight=0]; 3357[label="vyv227 * vyv226",fontsize=16,color="magenta"];3357 -> 3415[label="",style="dashed", color="magenta", weight=3]; 3357 -> 3416[label="",style="dashed", color="magenta", weight=3]; 3358 -> 3332[label="",style="dashed", color="red", weight=0]; 3358[label="vyv227 * vyv226",fontsize=16,color="magenta"];3358 -> 3417[label="",style="dashed", color="magenta", weight=3]; 3358 -> 3418[label="",style="dashed", color="magenta", weight=3]; 3597[label="vyv1831",fontsize=16,color="green",shape="box"];3598[label="vyv1831",fontsize=16,color="green",shape="box"];3599[label="Integer vyv2690 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];3599 -> 3615[label="",style="solid", color="black", weight=3]; 3612[label="reduce2Reduce0 (vyv264 * vyv265) (vyv266 * vyv267) (vyv264 * vyv265) (vyv266 * vyv267) True",fontsize=16,color="black",shape="box"];3612 -> 3624[label="",style="solid", color="black", weight=3]; 3613[label="error []",fontsize=16,color="red",shape="box"];3276[label="primMulNat (Succ vyv183000) (Succ (Succ vyv183000))",fontsize=16,color="black",shape="box"];3276 -> 3300[label="",style="solid", color="black", weight=3]; 3277[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];3277 -> 3301[label="",style="solid", color="black", weight=3]; 3840[label="primDivNatS0 (Succ vyv270000) vyv28400 (primGEqNatS (Succ vyv270000) vyv28400)",fontsize=16,color="burlywood",shape="box"];4504[label="vyv28400/Succ vyv284000",fontsize=10,color="white",style="solid",shape="box"];3840 -> 4504[label="",style="solid", color="burlywood", weight=9]; 4504 -> 3846[label="",style="solid", color="burlywood", weight=3]; 4505[label="vyv28400/Zero",fontsize=10,color="white",style="solid",shape="box"];3840 -> 4505[label="",style="solid", color="burlywood", weight=9]; 4505 -> 3847[label="",style="solid", color="burlywood", weight=3]; 3841[label="primDivNatS0 Zero vyv28400 (primGEqNatS Zero vyv28400)",fontsize=16,color="burlywood",shape="box"];4506[label="vyv28400/Succ vyv284000",fontsize=10,color="white",style="solid",shape="box"];3841 -> 4506[label="",style="solid", color="burlywood", weight=9]; 4506 -> 3848[label="",style="solid", color="burlywood", weight=3]; 4507[label="vyv28400/Zero",fontsize=10,color="white",style="solid",shape="box"];3841 -> 4507[label="",style="solid", color="burlywood", weight=9]; 4507 -> 3849[label="",style="solid", color="burlywood", weight=3]; 3296[label="primMinusInt (Neg (Succ vyv240)) vyv243",fontsize=16,color="burlywood",shape="box"];4508[label="vyv243/Pos vyv2430",fontsize=10,color="white",style="solid",shape="box"];3296 -> 4508[label="",style="solid", color="burlywood", weight=9]; 4508 -> 3323[label="",style="solid", color="burlywood", weight=3]; 4509[label="vyv243/Neg vyv2430",fontsize=10,color="white",style="solid",shape="box"];3296 -> 4509[label="",style="solid", color="burlywood", weight=9]; 4509 -> 3324[label="",style="solid", color="burlywood", weight=3]; 3297 -> 2999[label="",style="dashed", color="red", weight=0]; 3297[label="pr2F0 vyv239 (Neg (Succ vyv240) - vyv243) (vyv239 * vyv238)",fontsize=16,color="magenta"];3297 -> 3325[label="",style="dashed", color="magenta", weight=3]; 3297 -> 3326[label="",style="dashed", color="magenta", weight=3]; 3297 -> 3327[label="",style="dashed", color="magenta", weight=3]; 3298[label="vyv239 * vyv238",fontsize=16,color="blue",shape="box"];4510[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4510[label="",style="solid", color="blue", weight=9]; 4510 -> 3328[label="",style="solid", color="blue", weight=3]; 4511[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4511[label="",style="solid", color="blue", weight=9]; 4511 -> 3329[label="",style="solid", color="blue", weight=3]; 4512[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4512[label="",style="solid", color="blue", weight=9]; 4512 -> 3330[label="",style="solid", color="blue", weight=3]; 4513[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4513[label="",style="solid", color="blue", weight=9]; 4513 -> 3331[label="",style="solid", color="blue", weight=3]; 4514[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3298 -> 4514[label="",style="solid", color="blue", weight=9]; 4514 -> 3332[label="",style="solid", color="blue", weight=3]; 3402[label="primMinusNat (Succ vyv228) vyv2440",fontsize=16,color="burlywood",shape="box"];4515[label="vyv2440/Succ vyv24400",fontsize=10,color="white",style="solid",shape="box"];3402 -> 4515[label="",style="solid", color="burlywood", weight=9]; 4515 -> 3446[label="",style="solid", color="burlywood", weight=3]; 4516[label="vyv2440/Zero",fontsize=10,color="white",style="solid",shape="box"];3402 -> 4516[label="",style="solid", color="burlywood", weight=9]; 4516 -> 3447[label="",style="solid", color="burlywood", weight=3]; 3403[label="Pos (primPlusNat (Succ vyv228) vyv2440)",fontsize=16,color="green",shape="box"];3403 -> 3448[label="",style="dashed", color="green", weight=3]; 3313[label="primEqInt (Pos (Succ vyv24100)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3313 -> 3343[label="",style="solid", color="black", weight=3]; 3314[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3314 -> 3344[label="",style="solid", color="black", weight=3]; 3315[label="primEqInt (Neg (Succ vyv24100)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3315 -> 3345[label="",style="solid", color="black", weight=3]; 3316[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3316 -> 3346[label="",style="solid", color="black", weight=3]; 3404 -> 3328[label="",style="dashed", color="red", weight=0]; 3404[label="vyv227 * vyv226",fontsize=16,color="magenta"];3404 -> 3449[label="",style="dashed", color="magenta", weight=3]; 3404 -> 3450[label="",style="dashed", color="magenta", weight=3]; 3405 -> 3329[label="",style="dashed", color="red", weight=0]; 3405[label="vyv227 * vyv226",fontsize=16,color="magenta"];3405 -> 3451[label="",style="dashed", color="magenta", weight=3]; 3405 -> 3452[label="",style="dashed", color="magenta", weight=3]; 3406 -> 3330[label="",style="dashed", color="red", weight=0]; 3406[label="vyv227 * vyv226",fontsize=16,color="magenta"];3406 -> 3453[label="",style="dashed", color="magenta", weight=3]; 3406 -> 3454[label="",style="dashed", color="magenta", weight=3]; 3407 -> 3331[label="",style="dashed", color="red", weight=0]; 3407[label="vyv227 * vyv226",fontsize=16,color="magenta"];3407 -> 3455[label="",style="dashed", color="magenta", weight=3]; 3407 -> 3456[label="",style="dashed", color="magenta", weight=3]; 3408 -> 3332[label="",style="dashed", color="red", weight=0]; 3408[label="vyv227 * vyv226",fontsize=16,color="magenta"];3408 -> 3457[label="",style="dashed", color="magenta", weight=3]; 3408 -> 3458[label="",style="dashed", color="magenta", weight=3]; 3409[label="vyv227",fontsize=16,color="green",shape="box"];3410[label="vyv226",fontsize=16,color="green",shape="box"];3328[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3328 -> 3368[label="",style="solid", color="black", weight=3]; 3411[label="vyv227",fontsize=16,color="green",shape="box"];3412[label="vyv226",fontsize=16,color="green",shape="box"];3329[label="vyv239 * vyv238",fontsize=16,color="burlywood",shape="triangle"];4517[label="vyv239/vyv2390 :% vyv2391",fontsize=10,color="white",style="solid",shape="box"];3329 -> 4517[label="",style="solid", color="burlywood", weight=9]; 4517 -> 3369[label="",style="solid", color="burlywood", weight=3]; 3413[label="vyv227",fontsize=16,color="green",shape="box"];3414[label="vyv226",fontsize=16,color="green",shape="box"];3330[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3330 -> 3370[label="",style="solid", color="black", weight=3]; 3415[label="vyv227",fontsize=16,color="green",shape="box"];3416[label="vyv226",fontsize=16,color="green",shape="box"];3331[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3331 -> 3371[label="",style="solid", color="black", weight=3]; 3417[label="vyv227",fontsize=16,color="green",shape="box"];3418[label="vyv226",fontsize=16,color="green",shape="box"];3332[label="vyv239 * vyv238",fontsize=16,color="black",shape="triangle"];3332 -> 3372[label="",style="solid", color="black", weight=3]; 3615[label="Integer vyv2690 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];3615 -> 3625[label="",style="solid", color="black", weight=3]; 3624[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267) :% (vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267))",fontsize=16,color="green",shape="box"];3624 -> 3628[label="",style="dashed", color="green", weight=3]; 3624 -> 3629[label="",style="dashed", color="green", weight=3]; 3300 -> 75[label="",style="dashed", color="red", weight=0]; 3300[label="primPlusNat (primMulNat vyv183000 (Succ (Succ vyv183000))) (Succ (Succ vyv183000))",fontsize=16,color="magenta"];3300 -> 3335[label="",style="dashed", color="magenta", weight=3]; 3300 -> 3336[label="",style="dashed", color="magenta", weight=3]; 3301[label="Zero",fontsize=16,color="green",shape="box"];3846[label="primDivNatS0 (Succ vyv270000) (Succ vyv284000) (primGEqNatS (Succ vyv270000) (Succ vyv284000))",fontsize=16,color="black",shape="box"];3846 -> 3853[label="",style="solid", color="black", weight=3]; 3847[label="primDivNatS0 (Succ vyv270000) Zero (primGEqNatS (Succ vyv270000) Zero)",fontsize=16,color="black",shape="box"];3847 -> 3854[label="",style="solid", color="black", weight=3]; 3848[label="primDivNatS0 Zero (Succ vyv284000) (primGEqNatS Zero (Succ vyv284000))",fontsize=16,color="black",shape="box"];3848 -> 3855[label="",style="solid", color="black", weight=3]; 3849[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];3849 -> 3856[label="",style="solid", color="black", weight=3]; 3323[label="primMinusInt (Neg (Succ vyv240)) (Pos vyv2430)",fontsize=16,color="black",shape="box"];3323 -> 3361[label="",style="solid", color="black", weight=3]; 3324[label="primMinusInt (Neg (Succ vyv240)) (Neg vyv2430)",fontsize=16,color="black",shape="box"];3324 -> 3362[label="",style="solid", color="black", weight=3]; 3325[label="vyv239",fontsize=16,color="green",shape="box"];3326 -> 3271[label="",style="dashed", color="red", weight=0]; 3326[label="Neg (Succ vyv240) - vyv243",fontsize=16,color="magenta"];3327[label="vyv239 * vyv238",fontsize=16,color="blue",shape="box"];4518[label="* :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4518[label="",style="solid", color="blue", weight=9]; 4518 -> 3363[label="",style="solid", color="blue", weight=3]; 4519[label="* :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4519[label="",style="solid", color="blue", weight=9]; 4519 -> 3364[label="",style="solid", color="blue", weight=3]; 4520[label="* :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4520[label="",style="solid", color="blue", weight=9]; 4520 -> 3365[label="",style="solid", color="blue", weight=3]; 4521[label="* :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4521[label="",style="solid", color="blue", weight=9]; 4521 -> 3366[label="",style="solid", color="blue", weight=3]; 4522[label="* :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3327 -> 4522[label="",style="solid", color="blue", weight=9]; 4522 -> 3367[label="",style="solid", color="blue", weight=3]; 3446[label="primMinusNat (Succ vyv228) (Succ vyv24400)",fontsize=16,color="black",shape="box"];3446 -> 3476[label="",style="solid", color="black", weight=3]; 3447[label="primMinusNat (Succ vyv228) Zero",fontsize=16,color="black",shape="box"];3447 -> 3477[label="",style="solid", color="black", weight=3]; 3448 -> 75[label="",style="dashed", color="red", weight=0]; 3448[label="primPlusNat (Succ vyv228) vyv2440",fontsize=16,color="magenta"];3448 -> 3478[label="",style="dashed", color="magenta", weight=3]; 3448 -> 3479[label="",style="dashed", color="magenta", weight=3]; 3343 -> 3317[label="",style="dashed", color="red", weight=0]; 3343[label="primEqInt (Pos (Succ vyv24100)) (Pos Zero)",fontsize=16,color="magenta"];3343 -> 3422[label="",style="dashed", color="magenta", weight=3]; 3344 -> 3317[label="",style="dashed", color="red", weight=0]; 3344[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];3344 -> 3423[label="",style="dashed", color="magenta", weight=3]; 3345 -> 3317[label="",style="dashed", color="red", weight=0]; 3345[label="primEqInt (Neg (Succ vyv24100)) (Pos Zero)",fontsize=16,color="magenta"];3345 -> 3424[label="",style="dashed", color="magenta", weight=3]; 3346 -> 3317[label="",style="dashed", color="red", weight=0]; 3346[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];3346 -> 3425[label="",style="dashed", color="magenta", weight=3]; 3449[label="vyv227",fontsize=16,color="green",shape="box"];3450[label="vyv226",fontsize=16,color="green",shape="box"];3451[label="vyv227",fontsize=16,color="green",shape="box"];3452[label="vyv226",fontsize=16,color="green",shape="box"];3453[label="vyv227",fontsize=16,color="green",shape="box"];3454[label="vyv226",fontsize=16,color="green",shape="box"];3455[label="vyv227",fontsize=16,color="green",shape="box"];3456[label="vyv226",fontsize=16,color="green",shape="box"];3457[label="vyv227",fontsize=16,color="green",shape="box"];3458[label="vyv226",fontsize=16,color="green",shape="box"];3368[label="error []",fontsize=16,color="red",shape="box"];3369[label="vyv2390 :% vyv2391 * vyv238",fontsize=16,color="burlywood",shape="box"];4523[label="vyv238/vyv2380 :% vyv2381",fontsize=10,color="white",style="solid",shape="box"];3369 -> 4523[label="",style="solid", color="burlywood", weight=9]; 4523 -> 3429[label="",style="solid", color="burlywood", weight=3]; 3370[label="error []",fontsize=16,color="red",shape="box"];3371[label="error []",fontsize=16,color="red",shape="box"];3372[label="primMulInt vyv239 vyv238",fontsize=16,color="burlywood",shape="box"];4524[label="vyv239/Pos vyv2390",fontsize=10,color="white",style="solid",shape="box"];3372 -> 4524[label="",style="solid", color="burlywood", weight=9]; 4524 -> 3430[label="",style="solid", color="burlywood", weight=3]; 4525[label="vyv239/Neg vyv2390",fontsize=10,color="white",style="solid",shape="box"];3372 -> 4525[label="",style="solid", color="burlywood", weight=9]; 4525 -> 3431[label="",style="solid", color="burlywood", weight=3]; 3625 -> 3317[label="",style="dashed", color="red", weight=0]; 3625[label="primEqInt vyv2690 (Pos Zero)",fontsize=16,color="magenta"];3625 -> 3630[label="",style="dashed", color="magenta", weight=3]; 3628[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="blue",shape="box"];4526[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3628 -> 4526[label="",style="solid", color="blue", weight=9]; 4526 -> 3633[label="",style="solid", color="blue", weight=3]; 4527[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3628 -> 4527[label="",style="solid", color="blue", weight=9]; 4527 -> 3634[label="",style="solid", color="blue", weight=3]; 3629[label="vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="blue",shape="box"];4528[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];3629 -> 4528[label="",style="solid", color="blue", weight=9]; 4528 -> 3635[label="",style="solid", color="blue", weight=3]; 4529[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];3629 -> 4529[label="",style="solid", color="blue", weight=9]; 4529 -> 3636[label="",style="solid", color="blue", weight=3]; 3335[label="Succ (Succ vyv183000)",fontsize=16,color="green",shape="box"];3336[label="primMulNat vyv183000 (Succ (Succ vyv183000))",fontsize=16,color="burlywood",shape="box"];4530[label="vyv183000/Succ vyv1830000",fontsize=10,color="white",style="solid",shape="box"];3336 -> 4530[label="",style="solid", color="burlywood", weight=9]; 4530 -> 3377[label="",style="solid", color="burlywood", weight=3]; 4531[label="vyv183000/Zero",fontsize=10,color="white",style="solid",shape="box"];3336 -> 4531[label="",style="solid", color="burlywood", weight=9]; 4531 -> 3378[label="",style="solid", color="burlywood", weight=3]; 3853 -> 4114[label="",style="dashed", color="red", weight=0]; 3853[label="primDivNatS0 (Succ vyv270000) (Succ vyv284000) (primGEqNatS vyv270000 vyv284000)",fontsize=16,color="magenta"];3853 -> 4115[label="",style="dashed", color="magenta", weight=3]; 3853 -> 4116[label="",style="dashed", color="magenta", weight=3]; 3853 -> 4117[label="",style="dashed", color="magenta", weight=3]; 3853 -> 4118[label="",style="dashed", color="magenta", weight=3]; 3854[label="primDivNatS0 (Succ vyv270000) Zero True",fontsize=16,color="black",shape="box"];3854 -> 3861[label="",style="solid", color="black", weight=3]; 3855[label="primDivNatS0 Zero (Succ vyv284000) False",fontsize=16,color="black",shape="box"];3855 -> 3862[label="",style="solid", color="black", weight=3]; 3856[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];3856 -> 3863[label="",style="solid", color="black", weight=3]; 3361[label="Neg (primPlusNat (Succ vyv240) vyv2430)",fontsize=16,color="green",shape="box"];3361 -> 3426[label="",style="dashed", color="green", weight=3]; 3362[label="primMinusNat vyv2430 (Succ vyv240)",fontsize=16,color="burlywood",shape="box"];4532[label="vyv2430/Succ vyv24300",fontsize=10,color="white",style="solid",shape="box"];3362 -> 4532[label="",style="solid", color="burlywood", weight=9]; 4532 -> 3427[label="",style="solid", color="burlywood", weight=3]; 4533[label="vyv2430/Zero",fontsize=10,color="white",style="solid",shape="box"];3362 -> 4533[label="",style="solid", color="burlywood", weight=9]; 4533 -> 3428[label="",style="solid", color="burlywood", weight=3]; 3363 -> 3328[label="",style="dashed", color="red", weight=0]; 3363[label="vyv239 * vyv238",fontsize=16,color="magenta"];3364 -> 3329[label="",style="dashed", color="red", weight=0]; 3364[label="vyv239 * vyv238",fontsize=16,color="magenta"];3365 -> 3330[label="",style="dashed", color="red", weight=0]; 3365[label="vyv239 * vyv238",fontsize=16,color="magenta"];3366 -> 3331[label="",style="dashed", color="red", weight=0]; 3366[label="vyv239 * vyv238",fontsize=16,color="magenta"];3367 -> 3332[label="",style="dashed", color="red", weight=0]; 3367[label="vyv239 * vyv238",fontsize=16,color="magenta"];3476[label="primMinusNat vyv228 vyv24400",fontsize=16,color="burlywood",shape="triangle"];4534[label="vyv228/Succ vyv2280",fontsize=10,color="white",style="solid",shape="box"];3476 -> 4534[label="",style="solid", color="burlywood", weight=9]; 4534 -> 3518[label="",style="solid", color="burlywood", weight=3]; 4535[label="vyv228/Zero",fontsize=10,color="white",style="solid",shape="box"];3476 -> 4535[label="",style="solid", color="burlywood", weight=9]; 4535 -> 3519[label="",style="solid", color="burlywood", weight=3]; 3477[label="Pos (Succ vyv228)",fontsize=16,color="green",shape="box"];3478[label="vyv2440",fontsize=16,color="green",shape="box"];3479[label="Succ vyv228",fontsize=16,color="green",shape="box"];3422[label="Pos (Succ vyv24100)",fontsize=16,color="green",shape="box"];3317[label="primEqInt vyv2420 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];4536[label="vyv2420/Pos vyv24200",fontsize=10,color="white",style="solid",shape="box"];3317 -> 4536[label="",style="solid", color="burlywood", weight=9]; 4536 -> 3347[label="",style="solid", color="burlywood", weight=3]; 4537[label="vyv2420/Neg vyv24200",fontsize=10,color="white",style="solid",shape="box"];3317 -> 4537[label="",style="solid", color="burlywood", weight=9]; 4537 -> 3348[label="",style="solid", color="burlywood", weight=3]; 3423[label="Pos Zero",fontsize=16,color="green",shape="box"];3424[label="Neg (Succ vyv24100)",fontsize=16,color="green",shape="box"];3425[label="Neg Zero",fontsize=16,color="green",shape="box"];3429[label="vyv2390 :% vyv2391 * (vyv2380 :% vyv2381)",fontsize=16,color="black",shape="box"];3429 -> 3461[label="",style="solid", color="black", weight=3]; 3430[label="primMulInt (Pos vyv2390) vyv238",fontsize=16,color="burlywood",shape="box"];4538[label="vyv238/Pos vyv2380",fontsize=10,color="white",style="solid",shape="box"];3430 -> 4538[label="",style="solid", color="burlywood", weight=9]; 4538 -> 3462[label="",style="solid", color="burlywood", weight=3]; 4539[label="vyv238/Neg vyv2380",fontsize=10,color="white",style="solid",shape="box"];3430 -> 4539[label="",style="solid", color="burlywood", weight=9]; 4539 -> 3463[label="",style="solid", color="burlywood", weight=3]; 3431[label="primMulInt (Neg vyv2390) vyv238",fontsize=16,color="burlywood",shape="box"];4540[label="vyv238/Pos vyv2380",fontsize=10,color="white",style="solid",shape="box"];3431 -> 4540[label="",style="solid", color="burlywood", weight=9]; 4540 -> 3464[label="",style="solid", color="burlywood", weight=3]; 4541[label="vyv238/Neg vyv2380",fontsize=10,color="white",style="solid",shape="box"];3431 -> 4541[label="",style="solid", color="burlywood", weight=9]; 4541 -> 3465[label="",style="solid", color="burlywood", weight=3]; 3630[label="vyv2690",fontsize=16,color="green",shape="box"];3633 -> 3637[label="",style="dashed", color="red", weight=0]; 3633[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3633 -> 3638[label="",style="dashed", color="magenta", weight=3]; 3633 -> 3639[label="",style="dashed", color="magenta", weight=3]; 3633 -> 3640[label="",style="dashed", color="magenta", weight=3]; 3634 -> 3644[label="",style="dashed", color="red", weight=0]; 3634[label="vyv264 * vyv265 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3634 -> 3645[label="",style="dashed", color="magenta", weight=3]; 3634 -> 3646[label="",style="dashed", color="magenta", weight=3]; 3634 -> 3647[label="",style="dashed", color="magenta", weight=3]; 3635 -> 3637[label="",style="dashed", color="red", weight=0]; 3635[label="vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3635 -> 3641[label="",style="dashed", color="magenta", weight=3]; 3635 -> 3642[label="",style="dashed", color="magenta", weight=3]; 3635 -> 3643[label="",style="dashed", color="magenta", weight=3]; 3636 -> 3644[label="",style="dashed", color="red", weight=0]; 3636[label="vyv266 * vyv267 `quot` reduce2D (vyv264 * vyv265) (vyv266 * vyv267)",fontsize=16,color="magenta"];3636 -> 3648[label="",style="dashed", color="magenta", weight=3]; 3636 -> 3649[label="",style="dashed", color="magenta", weight=3]; 3636 -> 3650[label="",style="dashed", color="magenta", weight=3]; 3377[label="primMulNat (Succ vyv1830000) (Succ (Succ (Succ vyv1830000)))",fontsize=16,color="black",shape="box"];3377 -> 3480[label="",style="solid", color="black", weight=3]; 3378[label="primMulNat Zero (Succ (Succ Zero))",fontsize=16,color="black",shape="box"];3378 -> 3481[label="",style="solid", color="black", weight=3]; 4115[label="vyv270000",fontsize=16,color="green",shape="box"];4116[label="vyv284000",fontsize=16,color="green",shape="box"];4117[label="vyv270000",fontsize=16,color="green",shape="box"];4118[label="vyv284000",fontsize=16,color="green",shape="box"];4114[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS vyv312 vyv313)",fontsize=16,color="burlywood",shape="triangle"];4542[label="vyv312/Succ vyv3120",fontsize=10,color="white",style="solid",shape="box"];4114 -> 4542[label="",style="solid", color="burlywood", weight=9]; 4542 -> 4147[label="",style="solid", color="burlywood", weight=3]; 4543[label="vyv312/Zero",fontsize=10,color="white",style="solid",shape="box"];4114 -> 4543[label="",style="solid", color="burlywood", weight=9]; 4543 -> 4148[label="",style="solid", color="burlywood", weight=3]; 3861[label="Succ (primDivNatS (primMinusNatS (Succ vyv270000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];3861 -> 3871[label="",style="dashed", color="green", weight=3]; 3862[label="Zero",fontsize=16,color="green",shape="box"];3863[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];3863 -> 3872[label="",style="dashed", color="green", weight=3]; 3426 -> 75[label="",style="dashed", color="red", weight=0]; 3426[label="primPlusNat (Succ vyv240) vyv2430",fontsize=16,color="magenta"];3426 -> 3482[label="",style="dashed", color="magenta", weight=3]; 3426 -> 3483[label="",style="dashed", color="magenta", weight=3]; 3427[label="primMinusNat (Succ vyv24300) (Succ vyv240)",fontsize=16,color="black",shape="box"];3427 -> 3484[label="",style="solid", color="black", weight=3]; 3428[label="primMinusNat Zero (Succ vyv240)",fontsize=16,color="black",shape="box"];3428 -> 3485[label="",style="solid", color="black", weight=3]; 3518[label="primMinusNat (Succ vyv2280) vyv24400",fontsize=16,color="burlywood",shape="box"];4544[label="vyv24400/Succ vyv244000",fontsize=10,color="white",style="solid",shape="box"];3518 -> 4544[label="",style="solid", color="burlywood", weight=9]; 4544 -> 3539[label="",style="solid", color="burlywood", weight=3]; 4545[label="vyv24400/Zero",fontsize=10,color="white",style="solid",shape="box"];3518 -> 4545[label="",style="solid", color="burlywood", weight=9]; 4545 -> 3540[label="",style="solid", color="burlywood", weight=3]; 3519[label="primMinusNat Zero vyv24400",fontsize=16,color="burlywood",shape="box"];4546[label="vyv24400/Succ vyv244000",fontsize=10,color="white",style="solid",shape="box"];3519 -> 4546[label="",style="solid", color="burlywood", weight=9]; 4546 -> 3541[label="",style="solid", color="burlywood", weight=3]; 4547[label="vyv24400/Zero",fontsize=10,color="white",style="solid",shape="box"];3519 -> 4547[label="",style="solid", color="burlywood", weight=9]; 4547 -> 3542[label="",style="solid", color="burlywood", weight=3]; 3347[label="primEqInt (Pos vyv24200) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];4548[label="vyv24200/Succ vyv242000",fontsize=10,color="white",style="solid",shape="box"];3347 -> 4548[label="",style="solid", color="burlywood", weight=9]; 4548 -> 3432[label="",style="solid", color="burlywood", weight=3]; 4549[label="vyv24200/Zero",fontsize=10,color="white",style="solid",shape="box"];3347 -> 4549[label="",style="solid", color="burlywood", weight=9]; 4549 -> 3433[label="",style="solid", color="burlywood", weight=3]; 3348[label="primEqInt (Neg vyv24200) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];4550[label="vyv24200/Succ vyv242000",fontsize=10,color="white",style="solid",shape="box"];3348 -> 4550[label="",style="solid", color="burlywood", weight=9]; 4550 -> 3434[label="",style="solid", color="burlywood", weight=3]; 4551[label="vyv24200/Zero",fontsize=10,color="white",style="solid",shape="box"];3348 -> 4551[label="",style="solid", color="burlywood", weight=9]; 4551 -> 3435[label="",style="solid", color="burlywood", weight=3]; 3461[label="reduce (vyv2390 * vyv2380) (vyv2391 * vyv2381)",fontsize=16,color="black",shape="box"];3461 -> 3488[label="",style="solid", color="black", weight=3]; 3462[label="primMulInt (Pos vyv2390) (Pos vyv2380)",fontsize=16,color="black",shape="box"];3462 -> 3489[label="",style="solid", color="black", weight=3]; 3463[label="primMulInt (Pos vyv2390) (Neg vyv2380)",fontsize=16,color="black",shape="box"];3463 -> 3490[label="",style="solid", color="black", weight=3]; 3464[label="primMulInt (Neg vyv2390) (Pos vyv2380)",fontsize=16,color="black",shape="box"];3464 -> 3491[label="",style="solid", color="black", weight=3]; 3465[label="primMulInt (Neg vyv2390) (Neg vyv2380)",fontsize=16,color="black",shape="box"];3465 -> 3492[label="",style="solid", color="black", weight=3]; 3638 -> 3332[label="",style="dashed", color="red", weight=0]; 3638[label="vyv264 * vyv265",fontsize=16,color="magenta"];3638 -> 3651[label="",style="dashed", color="magenta", weight=3]; 3638 -> 3652[label="",style="dashed", color="magenta", weight=3]; 3639 -> 3332[label="",style="dashed", color="red", weight=0]; 3639[label="vyv266 * vyv267",fontsize=16,color="magenta"];3639 -> 3653[label="",style="dashed", color="magenta", weight=3]; 3639 -> 3654[label="",style="dashed", color="magenta", weight=3]; 3640 -> 3332[label="",style="dashed", color="red", weight=0]; 3640[label="vyv264 * vyv265",fontsize=16,color="magenta"];3640 -> 3655[label="",style="dashed", color="magenta", weight=3]; 3640 -> 3656[label="",style="dashed", color="magenta", weight=3]; 3637[label="vyv270 `quot` reduce2D vyv272 vyv271",fontsize=16,color="black",shape="triangle"];3637 -> 3657[label="",style="solid", color="black", weight=3]; 3645 -> 3331[label="",style="dashed", color="red", weight=0]; 3645[label="vyv266 * vyv267",fontsize=16,color="magenta"];3645 -> 3658[label="",style="dashed", color="magenta", weight=3]; 3645 -> 3659[label="",style="dashed", color="magenta", weight=3]; 3646 -> 3331[label="",style="dashed", color="red", weight=0]; 3646[label="vyv264 * vyv265",fontsize=16,color="magenta"];3646 -> 3660[label="",style="dashed", color="magenta", weight=3]; 3646 -> 3661[label="",style="dashed", color="magenta", weight=3]; 3647 -> 3331[label="",style="dashed", color="red", weight=0]; 3647[label="vyv264 * vyv265",fontsize=16,color="magenta"];3647 -> 3662[label="",style="dashed", color="magenta", weight=3]; 3647 -> 3663[label="",style="dashed", color="magenta", weight=3]; 3644[label="vyv273 `quot` reduce2D vyv275 vyv274",fontsize=16,color="black",shape="triangle"];3644 -> 3664[label="",style="solid", color="black", weight=3]; 3641 -> 3332[label="",style="dashed", color="red", weight=0]; 3641[label="vyv264 * vyv265",fontsize=16,color="magenta"];3641 -> 3665[label="",style="dashed", color="magenta", weight=3]; 3641 -> 3666[label="",style="dashed", color="magenta", weight=3]; 3642 -> 3332[label="",style="dashed", color="red", weight=0]; 3642[label="vyv266 * vyv267",fontsize=16,color="magenta"];3642 -> 3667[label="",style="dashed", color="magenta", weight=3]; 3642 -> 3668[label="",style="dashed", color="magenta", weight=3]; 3643 -> 3332[label="",style="dashed", color="red", weight=0]; 3643[label="vyv266 * vyv267",fontsize=16,color="magenta"];3643 -> 3669[label="",style="dashed", color="magenta", weight=3]; 3643 -> 3670[label="",style="dashed", color="magenta", weight=3]; 3648 -> 3331[label="",style="dashed", color="red", weight=0]; 3648[label="vyv266 * vyv267",fontsize=16,color="magenta"];3648 -> 3671[label="",style="dashed", color="magenta", weight=3]; 3648 -> 3672[label="",style="dashed", color="magenta", weight=3]; 3649 -> 3331[label="",style="dashed", color="red", weight=0]; 3649[label="vyv266 * vyv267",fontsize=16,color="magenta"];3649 -> 3673[label="",style="dashed", color="magenta", weight=3]; 3649 -> 3674[label="",style="dashed", color="magenta", weight=3]; 3650 -> 3331[label="",style="dashed", color="red", weight=0]; 3650[label="vyv264 * vyv265",fontsize=16,color="magenta"];3650 -> 3675[label="",style="dashed", color="magenta", weight=3]; 3650 -> 3676[label="",style="dashed", color="magenta", weight=3]; 3480 -> 75[label="",style="dashed", color="red", weight=0]; 3480[label="primPlusNat (primMulNat vyv1830000 (Succ (Succ (Succ vyv1830000)))) (Succ (Succ (Succ vyv1830000)))",fontsize=16,color="magenta"];3480 -> 3520[label="",style="dashed", color="magenta", weight=3]; 3480 -> 3521[label="",style="dashed", color="magenta", weight=3]; 3481[label="Zero",fontsize=16,color="green",shape="box"];4147[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS (Succ vyv3120) vyv313)",fontsize=16,color="burlywood",shape="box"];4552[label="vyv313/Succ vyv3130",fontsize=10,color="white",style="solid",shape="box"];4147 -> 4552[label="",style="solid", color="burlywood", weight=9]; 4552 -> 4154[label="",style="solid", color="burlywood", weight=3]; 4553[label="vyv313/Zero",fontsize=10,color="white",style="solid",shape="box"];4147 -> 4553[label="",style="solid", color="burlywood", weight=9]; 4553 -> 4155[label="",style="solid", color="burlywood", weight=3]; 4148[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS Zero vyv313)",fontsize=16,color="burlywood",shape="box"];4554[label="vyv313/Succ vyv3130",fontsize=10,color="white",style="solid",shape="box"];4148 -> 4554[label="",style="solid", color="burlywood", weight=9]; 4554 -> 4156[label="",style="solid", color="burlywood", weight=3]; 4555[label="vyv313/Zero",fontsize=10,color="white",style="solid",shape="box"];4148 -> 4555[label="",style="solid", color="burlywood", weight=9]; 4555 -> 4157[label="",style="solid", color="burlywood", weight=3]; 3871 -> 3814[label="",style="dashed", color="red", weight=0]; 3871[label="primDivNatS (primMinusNatS (Succ vyv270000) Zero) (Succ Zero)",fontsize=16,color="magenta"];3871 -> 3880[label="",style="dashed", color="magenta", weight=3]; 3871 -> 3881[label="",style="dashed", color="magenta", weight=3]; 3872 -> 3814[label="",style="dashed", color="red", weight=0]; 3872[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];3872 -> 3882[label="",style="dashed", color="magenta", weight=3]; 3872 -> 3883[label="",style="dashed", color="magenta", weight=3]; 3482[label="vyv2430",fontsize=16,color="green",shape="box"];3483[label="Succ vyv240",fontsize=16,color="green",shape="box"];3484 -> 3476[label="",style="dashed", color="red", weight=0]; 3484[label="primMinusNat vyv24300 vyv240",fontsize=16,color="magenta"];3484 -> 3522[label="",style="dashed", color="magenta", weight=3]; 3484 -> 3523[label="",style="dashed", color="magenta", weight=3]; 3485[label="Neg (Succ vyv240)",fontsize=16,color="green",shape="box"];3539[label="primMinusNat (Succ vyv2280) (Succ vyv244000)",fontsize=16,color="black",shape="box"];3539 -> 3573[label="",style="solid", color="black", weight=3]; 3540[label="primMinusNat (Succ vyv2280) Zero",fontsize=16,color="black",shape="box"];3540 -> 3574[label="",style="solid", color="black", weight=3]; 3541[label="primMinusNat Zero (Succ vyv244000)",fontsize=16,color="black",shape="box"];3541 -> 3575[label="",style="solid", color="black", weight=3]; 3542[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];3542 -> 3576[label="",style="solid", color="black", weight=3]; 3432[label="primEqInt (Pos (Succ vyv242000)) (Pos Zero)",fontsize=16,color="black",shape="box"];3432 -> 3493[label="",style="solid", color="black", weight=3]; 3433[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3433 -> 3494[label="",style="solid", color="black", weight=3]; 3434[label="primEqInt (Neg (Succ vyv242000)) (Pos Zero)",fontsize=16,color="black",shape="box"];3434 -> 3495[label="",style="solid", color="black", weight=3]; 3435[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];3435 -> 3496[label="",style="solid", color="black", weight=3]; 3488[label="reduce2 (vyv2390 * vyv2380) (vyv2391 * vyv2381)",fontsize=16,color="black",shape="box"];3488 -> 3526[label="",style="solid", color="black", weight=3]; 3489[label="Pos (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3489 -> 3527[label="",style="dashed", color="green", weight=3]; 3490[label="Neg (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3490 -> 3528[label="",style="dashed", color="green", weight=3]; 3491[label="Neg (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3491 -> 3529[label="",style="dashed", color="green", weight=3]; 3492[label="Pos (primMulNat vyv2390 vyv2380)",fontsize=16,color="green",shape="box"];3492 -> 3530[label="",style="dashed", color="green", weight=3]; 3651[label="vyv264",fontsize=16,color="green",shape="box"];3652[label="vyv265",fontsize=16,color="green",shape="box"];3653[label="vyv266",fontsize=16,color="green",shape="box"];3654[label="vyv267",fontsize=16,color="green",shape="box"];3655[label="vyv264",fontsize=16,color="green",shape="box"];3656[label="vyv265",fontsize=16,color="green",shape="box"];3657[label="primQuotInt vyv270 (reduce2D vyv272 vyv271)",fontsize=16,color="burlywood",shape="box"];4556[label="vyv270/Pos vyv2700",fontsize=10,color="white",style="solid",shape="box"];3657 -> 4556[label="",style="solid", color="burlywood", weight=9]; 4556 -> 3677[label="",style="solid", color="burlywood", weight=3]; 4557[label="vyv270/Neg vyv2700",fontsize=10,color="white",style="solid",shape="box"];3657 -> 4557[label="",style="solid", color="burlywood", weight=9]; 4557 -> 3678[label="",style="solid", color="burlywood", weight=3]; 3658[label="vyv266",fontsize=16,color="green",shape="box"];3659[label="vyv267",fontsize=16,color="green",shape="box"];3660[label="vyv264",fontsize=16,color="green",shape="box"];3661[label="vyv265",fontsize=16,color="green",shape="box"];3662[label="vyv264",fontsize=16,color="green",shape="box"];3663[label="vyv265",fontsize=16,color="green",shape="box"];3664[label="error []",fontsize=16,color="red",shape="box"];3665[label="vyv264",fontsize=16,color="green",shape="box"];3666[label="vyv265",fontsize=16,color="green",shape="box"];3667[label="vyv266",fontsize=16,color="green",shape="box"];3668[label="vyv267",fontsize=16,color="green",shape="box"];3669[label="vyv266",fontsize=16,color="green",shape="box"];3670[label="vyv267",fontsize=16,color="green",shape="box"];3671[label="vyv266",fontsize=16,color="green",shape="box"];3672[label="vyv267",fontsize=16,color="green",shape="box"];3673[label="vyv266",fontsize=16,color="green",shape="box"];3674[label="vyv267",fontsize=16,color="green",shape="box"];3675[label="vyv264",fontsize=16,color="green",shape="box"];3676[label="vyv265",fontsize=16,color="green",shape="box"];3520[label="Succ (Succ (Succ vyv1830000))",fontsize=16,color="green",shape="box"];3521[label="primMulNat vyv1830000 (Succ (Succ (Succ vyv1830000)))",fontsize=16,color="burlywood",shape="box"];4558[label="vyv1830000/Succ vyv18300000",fontsize=10,color="white",style="solid",shape="box"];3521 -> 4558[label="",style="solid", color="burlywood", weight=9]; 4558 -> 3543[label="",style="solid", color="burlywood", weight=3]; 4559[label="vyv1830000/Zero",fontsize=10,color="white",style="solid",shape="box"];3521 -> 4559[label="",style="solid", color="burlywood", weight=9]; 4559 -> 3544[label="",style="solid", color="burlywood", weight=3]; 4154[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS (Succ vyv3120) (Succ vyv3130))",fontsize=16,color="black",shape="box"];4154 -> 4162[label="",style="solid", color="black", weight=3]; 4155[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS (Succ vyv3120) Zero)",fontsize=16,color="black",shape="box"];4155 -> 4163[label="",style="solid", color="black", weight=3]; 4156[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS Zero (Succ vyv3130))",fontsize=16,color="black",shape="box"];4156 -> 4164[label="",style="solid", color="black", weight=3]; 4157[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4157 -> 4165[label="",style="solid", color="black", weight=3]; 3880[label="primMinusNatS (Succ vyv270000) Zero",fontsize=16,color="black",shape="triangle"];3880 -> 3893[label="",style="solid", color="black", weight=3]; 3881[label="Zero",fontsize=16,color="green",shape="box"];3882[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];3882 -> 3894[label="",style="solid", color="black", weight=3]; 3883[label="Zero",fontsize=16,color="green",shape="box"];3522[label="vyv240",fontsize=16,color="green",shape="box"];3523[label="vyv24300",fontsize=16,color="green",shape="box"];3573 -> 3476[label="",style="dashed", color="red", weight=0]; 3573[label="primMinusNat vyv2280 vyv244000",fontsize=16,color="magenta"];3573 -> 3600[label="",style="dashed", color="magenta", weight=3]; 3573 -> 3601[label="",style="dashed", color="magenta", weight=3]; 3574[label="Pos (Succ vyv2280)",fontsize=16,color="green",shape="box"];3575[label="Neg (Succ vyv244000)",fontsize=16,color="green",shape="box"];3576[label="Pos Zero",fontsize=16,color="green",shape="box"];3493[label="False",fontsize=16,color="green",shape="box"];3494[label="True",fontsize=16,color="green",shape="box"];3495[label="False",fontsize=16,color="green",shape="box"];3496[label="True",fontsize=16,color="green",shape="box"];3526 -> 3547[label="",style="dashed", color="red", weight=0]; 3526[label="reduce2Reduce1 (vyv2390 * vyv2380) (vyv2391 * vyv2381) (vyv2390 * vyv2380) (vyv2391 * vyv2381) (vyv2391 * vyv2381 == fromInt (Pos Zero))",fontsize=16,color="magenta"];3526 -> 3558[label="",style="dashed", color="magenta", weight=3]; 3526 -> 3559[label="",style="dashed", color="magenta", weight=3]; 3526 -> 3560[label="",style="dashed", color="magenta", weight=3]; 3526 -> 3561[label="",style="dashed", color="magenta", weight=3]; 3526 -> 3562[label="",style="dashed", color="magenta", weight=3]; 3527[label="primMulNat vyv2390 vyv2380",fontsize=16,color="burlywood",shape="triangle"];4560[label="vyv2390/Succ vyv23900",fontsize=10,color="white",style="solid",shape="box"];3527 -> 4560[label="",style="solid", color="burlywood", weight=9]; 4560 -> 3577[label="",style="solid", color="burlywood", weight=3]; 4561[label="vyv2390/Zero",fontsize=10,color="white",style="solid",shape="box"];3527 -> 4561[label="",style="solid", color="burlywood", weight=9]; 4561 -> 3578[label="",style="solid", color="burlywood", weight=3]; 3528 -> 3527[label="",style="dashed", color="red", weight=0]; 3528[label="primMulNat vyv2390 vyv2380",fontsize=16,color="magenta"];3528 -> 3579[label="",style="dashed", color="magenta", weight=3]; 3529 -> 3527[label="",style="dashed", color="red", weight=0]; 3529[label="primMulNat vyv2390 vyv2380",fontsize=16,color="magenta"];3529 -> 3580[label="",style="dashed", color="magenta", weight=3]; 3530 -> 3527[label="",style="dashed", color="red", weight=0]; 3530[label="primMulNat vyv2390 vyv2380",fontsize=16,color="magenta"];3530 -> 3581[label="",style="dashed", color="magenta", weight=3]; 3530 -> 3582[label="",style="dashed", color="magenta", weight=3]; 3677[label="primQuotInt (Pos vyv2700) (reduce2D vyv272 vyv271)",fontsize=16,color="black",shape="box"];3677 -> 3679[label="",style="solid", color="black", weight=3]; 3678[label="primQuotInt (Neg vyv2700) (reduce2D vyv272 vyv271)",fontsize=16,color="black",shape="box"];3678 -> 3680[label="",style="solid", color="black", weight=3]; 3543[label="primMulNat (Succ vyv18300000) (Succ (Succ (Succ (Succ vyv18300000))))",fontsize=16,color="black",shape="box"];3543 -> 3583[label="",style="solid", color="black", weight=3]; 3544[label="primMulNat Zero (Succ (Succ (Succ Zero)))",fontsize=16,color="black",shape="box"];3544 -> 3584[label="",style="solid", color="black", weight=3]; 4162 -> 4114[label="",style="dashed", color="red", weight=0]; 4162[label="primDivNatS0 (Succ vyv310) (Succ vyv311) (primGEqNatS vyv3120 vyv3130)",fontsize=16,color="magenta"];4162 -> 4171[label="",style="dashed", color="magenta", weight=3]; 4162 -> 4172[label="",style="dashed", color="magenta", weight=3]; 4163[label="primDivNatS0 (Succ vyv310) (Succ vyv311) True",fontsize=16,color="black",shape="triangle"];4163 -> 4173[label="",style="solid", color="black", weight=3]; 4164[label="primDivNatS0 (Succ vyv310) (Succ vyv311) False",fontsize=16,color="black",shape="box"];4164 -> 4174[label="",style="solid", color="black", weight=3]; 4165 -> 4163[label="",style="dashed", color="red", weight=0]; 4165[label="primDivNatS0 (Succ vyv310) (Succ vyv311) True",fontsize=16,color="magenta"];3893[label="Succ vyv270000",fontsize=16,color="green",shape="box"];3894[label="Zero",fontsize=16,color="green",shape="box"];3600[label="vyv244000",fontsize=16,color="green",shape="box"];3601[label="vyv2280",fontsize=16,color="green",shape="box"];3558[label="vyv2390",fontsize=16,color="green",shape="box"];3559[label="vyv2381",fontsize=16,color="green",shape="box"];3560[label="vyv2380",fontsize=16,color="green",shape="box"];3561[label="vyv2391",fontsize=16,color="green",shape="box"];3562[label="vyv2391 * vyv2381 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];4562[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];3562 -> 4562[label="",style="solid", color="blue", weight=9]; 4562 -> 3587[label="",style="solid", color="blue", weight=3]; 4563[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];3562 -> 4563[label="",style="solid", color="blue", weight=9]; 4563 -> 3588[label="",style="solid", color="blue", weight=3]; 3577[label="primMulNat (Succ vyv23900) vyv2380",fontsize=16,color="burlywood",shape="box"];4564[label="vyv2380/Succ vyv23800",fontsize=10,color="white",style="solid",shape="box"];3577 -> 4564[label="",style="solid", color="burlywood", weight=9]; 4564 -> 3602[label="",style="solid", color="burlywood", weight=3]; 4565[label="vyv2380/Zero",fontsize=10,color="white",style="solid",shape="box"];3577 -> 4565[label="",style="solid", color="burlywood", weight=9]; 4565 -> 3603[label="",style="solid", color="burlywood", weight=3]; 3578[label="primMulNat Zero vyv2380",fontsize=16,color="burlywood",shape="box"];4566[label="vyv2380/Succ vyv23800",fontsize=10,color="white",style="solid",shape="box"];3578 -> 4566[label="",style="solid", color="burlywood", weight=9]; 4566 -> 3604[label="",style="solid", color="burlywood", weight=3]; 4567[label="vyv2380/Zero",fontsize=10,color="white",style="solid",shape="box"];3578 -> 4567[label="",style="solid", color="burlywood", weight=9]; 4567 -> 3605[label="",style="solid", color="burlywood", weight=3]; 3579[label="vyv2380",fontsize=16,color="green",shape="box"];3580[label="vyv2390",fontsize=16,color="green",shape="box"];3581[label="vyv2390",fontsize=16,color="green",shape="box"];3582[label="vyv2380",fontsize=16,color="green",shape="box"];3679 -> 3740[label="",style="dashed", color="red", weight=0]; 3679[label="primQuotInt (Pos vyv2700) (gcd vyv272 vyv271)",fontsize=16,color="magenta"];3679 -> 3749[label="",style="dashed", color="magenta", weight=3]; 3680 -> 3777[label="",style="dashed", color="red", weight=0]; 3680[label="primQuotInt (Neg vyv2700) (gcd vyv272 vyv271)",fontsize=16,color="magenta"];3680 -> 3786[label="",style="dashed", color="magenta", weight=3]; 3583 -> 75[label="",style="dashed", color="red", weight=0]; 3583[label="primPlusNat (primMulNat vyv18300000 (Succ (Succ (Succ (Succ vyv18300000))))) (Succ (Succ (Succ (Succ vyv18300000))))",fontsize=16,color="magenta"];3583 -> 3606[label="",style="dashed", color="magenta", weight=3]; 3583 -> 3607[label="",style="dashed", color="magenta", weight=3]; 3584[label="Zero",fontsize=16,color="green",shape="box"];4171[label="vyv3120",fontsize=16,color="green",shape="box"];4172[label="vyv3130",fontsize=16,color="green",shape="box"];4173[label="Succ (primDivNatS (primMinusNatS (Succ vyv310) (Succ vyv311)) (Succ (Succ vyv311)))",fontsize=16,color="green",shape="box"];4173 -> 4183[label="",style="dashed", color="green", weight=3]; 4174[label="Zero",fontsize=16,color="green",shape="box"];3587 -> 3217[label="",style="dashed", color="red", weight=0]; 3587[label="vyv2391 * vyv2381 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3587 -> 3609[label="",style="dashed", color="magenta", weight=3]; 3588 -> 3591[label="",style="dashed", color="red", weight=0]; 3588[label="vyv2391 * vyv2381 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3588 -> 3593[label="",style="dashed", color="magenta", weight=3]; 3602[label="primMulNat (Succ vyv23900) (Succ vyv23800)",fontsize=16,color="black",shape="box"];3602 -> 3616[label="",style="solid", color="black", weight=3]; 3603[label="primMulNat (Succ vyv23900) Zero",fontsize=16,color="black",shape="box"];3603 -> 3617[label="",style="solid", color="black", weight=3]; 3604[label="primMulNat Zero (Succ vyv23800)",fontsize=16,color="black",shape="box"];3604 -> 3618[label="",style="solid", color="black", weight=3]; 3605[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];3605 -> 3619[label="",style="solid", color="black", weight=3]; 3749[label="gcd vyv272 vyv271",fontsize=16,color="black",shape="triangle"];3749 -> 3768[label="",style="solid", color="black", weight=3]; 3786 -> 3749[label="",style="dashed", color="red", weight=0]; 3786[label="gcd vyv272 vyv271",fontsize=16,color="magenta"];3606[label="Succ (Succ (Succ (Succ vyv18300000)))",fontsize=16,color="green",shape="box"];3607 -> 3527[label="",style="dashed", color="red", weight=0]; 3607[label="primMulNat vyv18300000 (Succ (Succ (Succ (Succ vyv18300000))))",fontsize=16,color="magenta"];3607 -> 3620[label="",style="dashed", color="magenta", weight=3]; 3607 -> 3621[label="",style="dashed", color="magenta", weight=3]; 4183 -> 3814[label="",style="dashed", color="red", weight=0]; 4183[label="primDivNatS (primMinusNatS (Succ vyv310) (Succ vyv311)) (Succ (Succ vyv311))",fontsize=16,color="magenta"];4183 -> 4189[label="",style="dashed", color="magenta", weight=3]; 4183 -> 4190[label="",style="dashed", color="magenta", weight=3]; 3609 -> 3332[label="",style="dashed", color="red", weight=0]; 3609[label="vyv2391 * vyv2381",fontsize=16,color="magenta"];3609 -> 3622[label="",style="dashed", color="magenta", weight=3]; 3609 -> 3623[label="",style="dashed", color="magenta", weight=3]; 3593 -> 3331[label="",style="dashed", color="red", weight=0]; 3593[label="vyv2391 * vyv2381",fontsize=16,color="magenta"];3593 -> 3610[label="",style="dashed", color="magenta", weight=3]; 3593 -> 3611[label="",style="dashed", color="magenta", weight=3]; 3616 -> 75[label="",style="dashed", color="red", weight=0]; 3616[label="primPlusNat (primMulNat vyv23900 (Succ vyv23800)) (Succ vyv23800)",fontsize=16,color="magenta"];3616 -> 3626[label="",style="dashed", color="magenta", weight=3]; 3616 -> 3627[label="",style="dashed", color="magenta", weight=3]; 3617[label="Zero",fontsize=16,color="green",shape="box"];3618[label="Zero",fontsize=16,color="green",shape="box"];3619[label="Zero",fontsize=16,color="green",shape="box"];3768[label="gcd3 vyv272 vyv271",fontsize=16,color="black",shape="box"];3768 -> 3776[label="",style="solid", color="black", weight=3]; 3620[label="vyv18300000",fontsize=16,color="green",shape="box"];3621[label="Succ (Succ (Succ (Succ vyv18300000)))",fontsize=16,color="green",shape="box"];4189[label="primMinusNatS (Succ vyv310) (Succ vyv311)",fontsize=16,color="black",shape="box"];4189 -> 4196[label="",style="solid", color="black", weight=3]; 4190[label="Succ vyv311",fontsize=16,color="green",shape="box"];3622[label="vyv2391",fontsize=16,color="green",shape="box"];3623[label="vyv2381",fontsize=16,color="green",shape="box"];3610[label="vyv2391",fontsize=16,color="green",shape="box"];3611[label="vyv2381",fontsize=16,color="green",shape="box"];3626[label="Succ vyv23800",fontsize=16,color="green",shape="box"];3627 -> 3527[label="",style="dashed", color="red", weight=0]; 3627[label="primMulNat vyv23900 (Succ vyv23800)",fontsize=16,color="magenta"];3627 -> 3631[label="",style="dashed", color="magenta", weight=3]; 3627 -> 3632[label="",style="dashed", color="magenta", weight=3]; 3776 -> 3808[label="",style="dashed", color="red", weight=0]; 3776[label="gcd2 (vyv272 == fromInt (Pos Zero)) vyv272 vyv271",fontsize=16,color="magenta"];3776 -> 3809[label="",style="dashed", color="magenta", weight=3]; 4196[label="primMinusNatS vyv310 vyv311",fontsize=16,color="burlywood",shape="triangle"];4568[label="vyv310/Succ vyv3100",fontsize=10,color="white",style="solid",shape="box"];4196 -> 4568[label="",style="solid", color="burlywood", weight=9]; 4568 -> 4205[label="",style="solid", color="burlywood", weight=3]; 4569[label="vyv310/Zero",fontsize=10,color="white",style="solid",shape="box"];4196 -> 4569[label="",style="solid", color="burlywood", weight=9]; 4569 -> 4206[label="",style="solid", color="burlywood", weight=3]; 3631[label="vyv23900",fontsize=16,color="green",shape="box"];3632[label="Succ vyv23800",fontsize=16,color="green",shape="box"];3809 -> 3217[label="",style="dashed", color="red", weight=0]; 3809[label="vyv272 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3809 -> 3817[label="",style="dashed", color="magenta", weight=3]; 3808[label="gcd2 vyv288 vyv272 vyv271",fontsize=16,color="burlywood",shape="triangle"];4570[label="vyv288/False",fontsize=10,color="white",style="solid",shape="box"];3808 -> 4570[label="",style="solid", color="burlywood", weight=9]; 4570 -> 3818[label="",style="solid", color="burlywood", weight=3]; 4571[label="vyv288/True",fontsize=10,color="white",style="solid",shape="box"];3808 -> 4571[label="",style="solid", color="burlywood", weight=9]; 4571 -> 3819[label="",style="solid", color="burlywood", weight=3]; 4205[label="primMinusNatS (Succ vyv3100) vyv311",fontsize=16,color="burlywood",shape="box"];4572[label="vyv311/Succ vyv3110",fontsize=10,color="white",style="solid",shape="box"];4205 -> 4572[label="",style="solid", color="burlywood", weight=9]; 4572 -> 4215[label="",style="solid", color="burlywood", weight=3]; 4573[label="vyv311/Zero",fontsize=10,color="white",style="solid",shape="box"];4205 -> 4573[label="",style="solid", color="burlywood", weight=9]; 4573 -> 4216[label="",style="solid", color="burlywood", weight=3]; 4206[label="primMinusNatS Zero vyv311",fontsize=16,color="burlywood",shape="box"];4574[label="vyv311/Succ vyv3110",fontsize=10,color="white",style="solid",shape="box"];4206 -> 4574[label="",style="solid", color="burlywood", weight=9]; 4574 -> 4217[label="",style="solid", color="burlywood", weight=3]; 4575[label="vyv311/Zero",fontsize=10,color="white",style="solid",shape="box"];4206 -> 4575[label="",style="solid", color="burlywood", weight=9]; 4575 -> 4218[label="",style="solid", color="burlywood", weight=3]; 3817[label="vyv272",fontsize=16,color="green",shape="box"];3818[label="gcd2 False vyv272 vyv271",fontsize=16,color="black",shape="box"];3818 -> 3827[label="",style="solid", color="black", weight=3]; 3819[label="gcd2 True vyv272 vyv271",fontsize=16,color="black",shape="box"];3819 -> 3828[label="",style="solid", color="black", weight=3]; 4215[label="primMinusNatS (Succ vyv3100) (Succ vyv3110)",fontsize=16,color="black",shape="box"];4215 -> 4224[label="",style="solid", color="black", weight=3]; 4216[label="primMinusNatS (Succ vyv3100) Zero",fontsize=16,color="black",shape="box"];4216 -> 4225[label="",style="solid", color="black", weight=3]; 4217[label="primMinusNatS Zero (Succ vyv3110)",fontsize=16,color="black",shape="box"];4217 -> 4226[label="",style="solid", color="black", weight=3]; 4218[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];4218 -> 4227[label="",style="solid", color="black", weight=3]; 3827[label="gcd0 vyv272 vyv271",fontsize=16,color="black",shape="triangle"];3827 -> 3833[label="",style="solid", color="black", weight=3]; 3828 -> 3834[label="",style="dashed", color="red", weight=0]; 3828[label="gcd1 (vyv271 == fromInt (Pos Zero)) vyv272 vyv271",fontsize=16,color="magenta"];3828 -> 3835[label="",style="dashed", color="magenta", weight=3]; 4224 -> 4196[label="",style="dashed", color="red", weight=0]; 4224[label="primMinusNatS vyv3100 vyv3110",fontsize=16,color="magenta"];4224 -> 4236[label="",style="dashed", color="magenta", weight=3]; 4224 -> 4237[label="",style="dashed", color="magenta", weight=3]; 4225[label="Succ vyv3100",fontsize=16,color="green",shape="box"];4226[label="Zero",fontsize=16,color="green",shape="box"];4227[label="Zero",fontsize=16,color="green",shape="box"];3833[label="gcd0Gcd' (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3833 -> 3842[label="",style="solid", color="black", weight=3]; 3835 -> 3217[label="",style="dashed", color="red", weight=0]; 3835[label="vyv271 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3835 -> 3843[label="",style="dashed", color="magenta", weight=3]; 3834[label="gcd1 vyv289 vyv272 vyv271",fontsize=16,color="burlywood",shape="triangle"];4576[label="vyv289/False",fontsize=10,color="white",style="solid",shape="box"];3834 -> 4576[label="",style="solid", color="burlywood", weight=9]; 4576 -> 3844[label="",style="solid", color="burlywood", weight=3]; 4577[label="vyv289/True",fontsize=10,color="white",style="solid",shape="box"];3834 -> 4577[label="",style="solid", color="burlywood", weight=9]; 4577 -> 3845[label="",style="solid", color="burlywood", weight=3]; 4236[label="vyv3110",fontsize=16,color="green",shape="box"];4237[label="vyv3100",fontsize=16,color="green",shape="box"];3842[label="gcd0Gcd'2 (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3842 -> 3850[label="",style="solid", color="black", weight=3]; 3843[label="vyv271",fontsize=16,color="green",shape="box"];3844[label="gcd1 False vyv272 vyv271",fontsize=16,color="black",shape="box"];3844 -> 3851[label="",style="solid", color="black", weight=3]; 3845[label="gcd1 True vyv272 vyv271",fontsize=16,color="black",shape="box"];3845 -> 3852[label="",style="solid", color="black", weight=3]; 3850 -> 3857[label="",style="dashed", color="red", weight=0]; 3850[label="gcd0Gcd'1 (abs vyv271 == fromInt (Pos Zero)) (abs vyv272) (abs vyv271)",fontsize=16,color="magenta"];3850 -> 3858[label="",style="dashed", color="magenta", weight=3]; 3851 -> 3827[label="",style="dashed", color="red", weight=0]; 3851[label="gcd0 vyv272 vyv271",fontsize=16,color="magenta"];3852 -> 3805[label="",style="dashed", color="red", weight=0]; 3852[label="error []",fontsize=16,color="magenta"];3858 -> 3217[label="",style="dashed", color="red", weight=0]; 3858[label="abs vyv271 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3858 -> 3864[label="",style="dashed", color="magenta", weight=3]; 3857[label="gcd0Gcd'1 vyv290 (abs vyv272) (abs vyv271)",fontsize=16,color="burlywood",shape="triangle"];4578[label="vyv290/False",fontsize=10,color="white",style="solid",shape="box"];3857 -> 4578[label="",style="solid", color="burlywood", weight=9]; 4578 -> 3865[label="",style="solid", color="burlywood", weight=3]; 4579[label="vyv290/True",fontsize=10,color="white",style="solid",shape="box"];3857 -> 4579[label="",style="solid", color="burlywood", weight=9]; 4579 -> 3866[label="",style="solid", color="burlywood", weight=3]; 3864[label="abs vyv271",fontsize=16,color="black",shape="triangle"];3864 -> 3873[label="",style="solid", color="black", weight=3]; 3865[label="gcd0Gcd'1 False (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3865 -> 3874[label="",style="solid", color="black", weight=3]; 3866[label="gcd0Gcd'1 True (abs vyv272) (abs vyv271)",fontsize=16,color="black",shape="box"];3866 -> 3875[label="",style="solid", color="black", weight=3]; 3873[label="absReal vyv271",fontsize=16,color="black",shape="box"];3873 -> 3884[label="",style="solid", color="black", weight=3]; 3874 -> 3885[label="",style="dashed", color="red", weight=0]; 3874[label="gcd0Gcd'0 (abs vyv272) (abs vyv271)",fontsize=16,color="magenta"];3874 -> 3886[label="",style="dashed", color="magenta", weight=3]; 3874 -> 3887[label="",style="dashed", color="magenta", weight=3]; 3875 -> 3864[label="",style="dashed", color="red", weight=0]; 3875[label="abs vyv272",fontsize=16,color="magenta"];3875 -> 3895[label="",style="dashed", color="magenta", weight=3]; 3884[label="absReal2 vyv271",fontsize=16,color="black",shape="box"];3884 -> 3896[label="",style="solid", color="black", weight=3]; 3886 -> 3864[label="",style="dashed", color="red", weight=0]; 3886[label="abs vyv272",fontsize=16,color="magenta"];3886 -> 3897[label="",style="dashed", color="magenta", weight=3]; 3887 -> 3864[label="",style="dashed", color="red", weight=0]; 3887[label="abs vyv271",fontsize=16,color="magenta"];3885[label="gcd0Gcd'0 vyv292 vyv291",fontsize=16,color="black",shape="triangle"];3885 -> 3898[label="",style="solid", color="black", weight=3]; 3895[label="vyv272",fontsize=16,color="green",shape="box"];3896[label="absReal1 vyv271 (vyv271 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];3896 -> 3905[label="",style="solid", color="black", weight=3]; 3897[label="vyv272",fontsize=16,color="green",shape="box"];3898[label="gcd0Gcd' vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3898 -> 3906[label="",style="solid", color="black", weight=3]; 3905[label="absReal1 vyv271 (compare vyv271 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];3905 -> 3915[label="",style="solid", color="black", weight=3]; 3906[label="gcd0Gcd'2 vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3906 -> 3916[label="",style="solid", color="black", weight=3]; 3915[label="absReal1 vyv271 (not (compare vyv271 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3915 -> 3924[label="",style="solid", color="black", weight=3]; 3916 -> 3925[label="",style="dashed", color="red", weight=0]; 3916[label="gcd0Gcd'1 (vyv292 `rem` vyv291 == fromInt (Pos Zero)) vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="magenta"];3916 -> 3926[label="",style="dashed", color="magenta", weight=3]; 3924[label="absReal1 vyv271 (not (primCmpInt vyv271 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4580[label="vyv271/Pos vyv2710",fontsize=10,color="white",style="solid",shape="box"];3924 -> 4580[label="",style="solid", color="burlywood", weight=9]; 4580 -> 3934[label="",style="solid", color="burlywood", weight=3]; 4581[label="vyv271/Neg vyv2710",fontsize=10,color="white",style="solid",shape="box"];3924 -> 4581[label="",style="solid", color="burlywood", weight=9]; 4581 -> 3935[label="",style="solid", color="burlywood", weight=3]; 3926 -> 3217[label="",style="dashed", color="red", weight=0]; 3926[label="vyv292 `rem` vyv291 == fromInt (Pos Zero)",fontsize=16,color="magenta"];3926 -> 3936[label="",style="dashed", color="magenta", weight=3]; 3925[label="gcd0Gcd'1 vyv293 vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="burlywood",shape="triangle"];4582[label="vyv293/False",fontsize=10,color="white",style="solid",shape="box"];3925 -> 4582[label="",style="solid", color="burlywood", weight=9]; 4582 -> 3937[label="",style="solid", color="burlywood", weight=3]; 4583[label="vyv293/True",fontsize=10,color="white",style="solid",shape="box"];3925 -> 4583[label="",style="solid", color="burlywood", weight=9]; 4583 -> 3938[label="",style="solid", color="burlywood", weight=3]; 3934[label="absReal1 (Pos vyv2710) (not (primCmpInt (Pos vyv2710) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4584[label="vyv2710/Succ vyv27100",fontsize=10,color="white",style="solid",shape="box"];3934 -> 4584[label="",style="solid", color="burlywood", weight=9]; 4584 -> 3947[label="",style="solid", color="burlywood", weight=3]; 4585[label="vyv2710/Zero",fontsize=10,color="white",style="solid",shape="box"];3934 -> 4585[label="",style="solid", color="burlywood", weight=9]; 4585 -> 3948[label="",style="solid", color="burlywood", weight=3]; 3935[label="absReal1 (Neg vyv2710) (not (primCmpInt (Neg vyv2710) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];4586[label="vyv2710/Succ vyv27100",fontsize=10,color="white",style="solid",shape="box"];3935 -> 4586[label="",style="solid", color="burlywood", weight=9]; 4586 -> 3949[label="",style="solid", color="burlywood", weight=3]; 4587[label="vyv2710/Zero",fontsize=10,color="white",style="solid",shape="box"];3935 -> 4587[label="",style="solid", color="burlywood", weight=9]; 4587 -> 3950[label="",style="solid", color="burlywood", weight=3]; 3936[label="vyv292 `rem` vyv291",fontsize=16,color="black",shape="triangle"];3936 -> 3951[label="",style="solid", color="black", weight=3]; 3937[label="gcd0Gcd'1 False vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3937 -> 3952[label="",style="solid", color="black", weight=3]; 3938[label="gcd0Gcd'1 True vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="black",shape="box"];3938 -> 3953[label="",style="solid", color="black", weight=3]; 3947[label="absReal1 (Pos (Succ vyv27100)) (not (primCmpInt (Pos (Succ vyv27100)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3947 -> 3961[label="",style="solid", color="black", weight=3]; 3948[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3948 -> 3962[label="",style="solid", color="black", weight=3]; 3949[label="absReal1 (Neg (Succ vyv27100)) (not (primCmpInt (Neg (Succ vyv27100)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3949 -> 3963[label="",style="solid", color="black", weight=3]; 3950[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];3950 -> 3964[label="",style="solid", color="black", weight=3]; 3951[label="primRemInt vyv292 vyv291",fontsize=16,color="burlywood",shape="box"];4588[label="vyv292/Pos vyv2920",fontsize=10,color="white",style="solid",shape="box"];3951 -> 4588[label="",style="solid", color="burlywood", weight=9]; 4588 -> 3965[label="",style="solid", color="burlywood", weight=3]; 4589[label="vyv292/Neg vyv2920",fontsize=10,color="white",style="solid",shape="box"];3951 -> 4589[label="",style="solid", color="burlywood", weight=9]; 4589 -> 3966[label="",style="solid", color="burlywood", weight=3]; 3952 -> 3885[label="",style="dashed", color="red", weight=0]; 3952[label="gcd0Gcd'0 vyv291 (vyv292 `rem` vyv291)",fontsize=16,color="magenta"];3952 -> 3967[label="",style="dashed", color="magenta", weight=3]; 3952 -> 3968[label="",style="dashed", color="magenta", weight=3]; 3953[label="vyv291",fontsize=16,color="green",shape="box"];3961[label="absReal1 (Pos (Succ vyv27100)) (not (primCmpInt (Pos (Succ vyv27100)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3961 -> 3976[label="",style="solid", color="black", weight=3]; 3962[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3962 -> 3977[label="",style="solid", color="black", weight=3]; 3963[label="absReal1 (Neg (Succ vyv27100)) (not (primCmpInt (Neg (Succ vyv27100)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3963 -> 3978[label="",style="solid", color="black", weight=3]; 3964[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3964 -> 3979[label="",style="solid", color="black", weight=3]; 3965[label="primRemInt (Pos vyv2920) vyv291",fontsize=16,color="burlywood",shape="box"];4590[label="vyv291/Pos vyv2910",fontsize=10,color="white",style="solid",shape="box"];3965 -> 4590[label="",style="solid", color="burlywood", weight=9]; 4590 -> 3980[label="",style="solid", color="burlywood", weight=3]; 4591[label="vyv291/Neg vyv2910",fontsize=10,color="white",style="solid",shape="box"];3965 -> 4591[label="",style="solid", color="burlywood", weight=9]; 4591 -> 3981[label="",style="solid", color="burlywood", weight=3]; 3966[label="primRemInt (Neg vyv2920) vyv291",fontsize=16,color="burlywood",shape="box"];4592[label="vyv291/Pos vyv2910",fontsize=10,color="white",style="solid",shape="box"];3966 -> 4592[label="",style="solid", color="burlywood", weight=9]; 4592 -> 3982[label="",style="solid", color="burlywood", weight=3]; 4593[label="vyv291/Neg vyv2910",fontsize=10,color="white",style="solid",shape="box"];3966 -> 4593[label="",style="solid", color="burlywood", weight=9]; 4593 -> 3983[label="",style="solid", color="burlywood", weight=3]; 3967[label="vyv291",fontsize=16,color="green",shape="box"];3968 -> 3936[label="",style="dashed", color="red", weight=0]; 3968[label="vyv292 `rem` vyv291",fontsize=16,color="magenta"];3976[label="absReal1 (Pos (Succ vyv27100)) (not (primCmpNat (Succ vyv27100) Zero == LT))",fontsize=16,color="black",shape="box"];3976 -> 3992[label="",style="solid", color="black", weight=3]; 3977[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];3977 -> 3993[label="",style="solid", color="black", weight=3]; 3978[label="absReal1 (Neg (Succ vyv27100)) (not (LT == LT))",fontsize=16,color="black",shape="box"];3978 -> 3994[label="",style="solid", color="black", weight=3]; 3979[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];3979 -> 3995[label="",style="solid", color="black", weight=3]; 3980[label="primRemInt (Pos vyv2920) (Pos vyv2910)",fontsize=16,color="burlywood",shape="box"];4594[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3980 -> 4594[label="",style="solid", color="burlywood", weight=9]; 4594 -> 3996[label="",style="solid", color="burlywood", weight=3]; 4595[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3980 -> 4595[label="",style="solid", color="burlywood", weight=9]; 4595 -> 3997[label="",style="solid", color="burlywood", weight=3]; 3981[label="primRemInt (Pos vyv2920) (Neg vyv2910)",fontsize=16,color="burlywood",shape="box"];4596[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3981 -> 4596[label="",style="solid", color="burlywood", weight=9]; 4596 -> 3998[label="",style="solid", color="burlywood", weight=3]; 4597[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3981 -> 4597[label="",style="solid", color="burlywood", weight=9]; 4597 -> 3999[label="",style="solid", color="burlywood", weight=3]; 3982[label="primRemInt (Neg vyv2920) (Pos vyv2910)",fontsize=16,color="burlywood",shape="box"];4598[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3982 -> 4598[label="",style="solid", color="burlywood", weight=9]; 4598 -> 4000[label="",style="solid", color="burlywood", weight=3]; 4599[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3982 -> 4599[label="",style="solid", color="burlywood", weight=9]; 4599 -> 4001[label="",style="solid", color="burlywood", weight=3]; 3983[label="primRemInt (Neg vyv2920) (Neg vyv2910)",fontsize=16,color="burlywood",shape="box"];4600[label="vyv2910/Succ vyv29100",fontsize=10,color="white",style="solid",shape="box"];3983 -> 4600[label="",style="solid", color="burlywood", weight=9]; 4600 -> 4002[label="",style="solid", color="burlywood", weight=3]; 4601[label="vyv2910/Zero",fontsize=10,color="white",style="solid",shape="box"];3983 -> 4601[label="",style="solid", color="burlywood", weight=9]; 4601 -> 4003[label="",style="solid", color="burlywood", weight=3]; 3992[label="absReal1 (Pos (Succ vyv27100)) (not (GT == LT))",fontsize=16,color="black",shape="box"];3992 -> 4011[label="",style="solid", color="black", weight=3]; 3993[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];3993 -> 4012[label="",style="solid", color="black", weight=3]; 3994[label="absReal1 (Neg (Succ vyv27100)) (not True)",fontsize=16,color="black",shape="box"];3994 -> 4013[label="",style="solid", color="black", weight=3]; 3995[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];3995 -> 4014[label="",style="solid", color="black", weight=3]; 3996[label="primRemInt (Pos vyv2920) (Pos (Succ vyv29100))",fontsize=16,color="black",shape="box"];3996 -> 4015[label="",style="solid", color="black", weight=3]; 3997[label="primRemInt (Pos vyv2920) (Pos Zero)",fontsize=16,color="black",shape="box"];3997 -> 4016[label="",style="solid", color="black", weight=3]; 3998[label="primRemInt (Pos vyv2920) (Neg (Succ vyv29100))",fontsize=16,color="black",shape="box"];3998 -> 4017[label="",style="solid", color="black", weight=3]; 3999[label="primRemInt (Pos vyv2920) (Neg Zero)",fontsize=16,color="black",shape="box"];3999 -> 4018[label="",style="solid", color="black", weight=3]; 4000[label="primRemInt (Neg vyv2920) (Pos (Succ vyv29100))",fontsize=16,color="black",shape="box"];4000 -> 4019[label="",style="solid", color="black", weight=3]; 4001[label="primRemInt (Neg vyv2920) (Pos Zero)",fontsize=16,color="black",shape="box"];4001 -> 4020[label="",style="solid", color="black", weight=3]; 4002[label="primRemInt (Neg vyv2920) (Neg (Succ vyv29100))",fontsize=16,color="black",shape="box"];4002 -> 4021[label="",style="solid", color="black", weight=3]; 4003[label="primRemInt (Neg vyv2920) (Neg Zero)",fontsize=16,color="black",shape="box"];4003 -> 4022[label="",style="solid", color="black", weight=3]; 4011[label="absReal1 (Pos (Succ vyv27100)) (not False)",fontsize=16,color="black",shape="box"];4011 -> 4030[label="",style="solid", color="black", weight=3]; 4012[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];4012 -> 4031[label="",style="solid", color="black", weight=3]; 4013[label="absReal1 (Neg (Succ vyv27100)) False",fontsize=16,color="black",shape="box"];4013 -> 4032[label="",style="solid", color="black", weight=3]; 4014[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];4014 -> 4033[label="",style="solid", color="black", weight=3]; 4015[label="Pos (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4015 -> 4034[label="",style="dashed", color="green", weight=3]; 4016 -> 3805[label="",style="dashed", color="red", weight=0]; 4016[label="error []",fontsize=16,color="magenta"];4017[label="Pos (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4017 -> 4035[label="",style="dashed", color="green", weight=3]; 4018 -> 3805[label="",style="dashed", color="red", weight=0]; 4018[label="error []",fontsize=16,color="magenta"];4019[label="Neg (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4019 -> 4036[label="",style="dashed", color="green", weight=3]; 4020 -> 3805[label="",style="dashed", color="red", weight=0]; 4020[label="error []",fontsize=16,color="magenta"];4021[label="Neg (primModNatS vyv2920 (Succ vyv29100))",fontsize=16,color="green",shape="box"];4021 -> 4037[label="",style="dashed", color="green", weight=3]; 4022 -> 3805[label="",style="dashed", color="red", weight=0]; 4022[label="error []",fontsize=16,color="magenta"];4030[label="absReal1 (Pos (Succ vyv27100)) True",fontsize=16,color="black",shape="box"];4030 -> 4046[label="",style="solid", color="black", weight=3]; 4031[label="Pos Zero",fontsize=16,color="green",shape="box"];4032[label="absReal0 (Neg (Succ vyv27100)) otherwise",fontsize=16,color="black",shape="box"];4032 -> 4047[label="",style="solid", color="black", weight=3]; 4033[label="Neg Zero",fontsize=16,color="green",shape="box"];4034[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="burlywood",shape="triangle"];4602[label="vyv2920/Succ vyv29200",fontsize=10,color="white",style="solid",shape="box"];4034 -> 4602[label="",style="solid", color="burlywood", weight=9]; 4602 -> 4048[label="",style="solid", color="burlywood", weight=3]; 4603[label="vyv2920/Zero",fontsize=10,color="white",style="solid",shape="box"];4034 -> 4603[label="",style="solid", color="burlywood", weight=9]; 4603 -> 4049[label="",style="solid", color="burlywood", weight=3]; 4035 -> 4034[label="",style="dashed", color="red", weight=0]; 4035[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="magenta"];4035 -> 4050[label="",style="dashed", color="magenta", weight=3]; 4036 -> 4034[label="",style="dashed", color="red", weight=0]; 4036[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="magenta"];4036 -> 4051[label="",style="dashed", color="magenta", weight=3]; 4037 -> 4034[label="",style="dashed", color="red", weight=0]; 4037[label="primModNatS vyv2920 (Succ vyv29100)",fontsize=16,color="magenta"];4037 -> 4052[label="",style="dashed", color="magenta", weight=3]; 4037 -> 4053[label="",style="dashed", color="magenta", weight=3]; 4046[label="Pos (Succ vyv27100)",fontsize=16,color="green",shape="box"];4047[label="absReal0 (Neg (Succ vyv27100)) True",fontsize=16,color="black",shape="box"];4047 -> 4101[label="",style="solid", color="black", weight=3]; 4048[label="primModNatS (Succ vyv29200) (Succ vyv29100)",fontsize=16,color="black",shape="box"];4048 -> 4102[label="",style="solid", color="black", weight=3]; 4049[label="primModNatS Zero (Succ vyv29100)",fontsize=16,color="black",shape="box"];4049 -> 4103[label="",style="solid", color="black", weight=3]; 4050[label="vyv29100",fontsize=16,color="green",shape="box"];4051[label="vyv2920",fontsize=16,color="green",shape="box"];4052[label="vyv29100",fontsize=16,color="green",shape="box"];4053[label="vyv2920",fontsize=16,color="green",shape="box"];4101[label="`negate` Neg (Succ vyv27100)",fontsize=16,color="black",shape="box"];4101 -> 4109[label="",style="solid", color="black", weight=3]; 4102[label="primModNatS0 vyv29200 vyv29100 (primGEqNatS vyv29200 vyv29100)",fontsize=16,color="burlywood",shape="box"];4604[label="vyv29200/Succ vyv292000",fontsize=10,color="white",style="solid",shape="box"];4102 -> 4604[label="",style="solid", color="burlywood", weight=9]; 4604 -> 4110[label="",style="solid", color="burlywood", weight=3]; 4605[label="vyv29200/Zero",fontsize=10,color="white",style="solid",shape="box"];4102 -> 4605[label="",style="solid", color="burlywood", weight=9]; 4605 -> 4111[label="",style="solid", color="burlywood", weight=3]; 4103[label="Zero",fontsize=16,color="green",shape="box"];4109[label="primNegInt (Neg (Succ vyv27100))",fontsize=16,color="black",shape="box"];4109 -> 4149[label="",style="solid", color="black", weight=3]; 4110[label="primModNatS0 (Succ vyv292000) vyv29100 (primGEqNatS (Succ vyv292000) vyv29100)",fontsize=16,color="burlywood",shape="box"];4606[label="vyv29100/Succ vyv291000",fontsize=10,color="white",style="solid",shape="box"];4110 -> 4606[label="",style="solid", color="burlywood", weight=9]; 4606 -> 4150[label="",style="solid", color="burlywood", weight=3]; 4607[label="vyv29100/Zero",fontsize=10,color="white",style="solid",shape="box"];4110 -> 4607[label="",style="solid", color="burlywood", weight=9]; 4607 -> 4151[label="",style="solid", color="burlywood", weight=3]; 4111[label="primModNatS0 Zero vyv29100 (primGEqNatS Zero vyv29100)",fontsize=16,color="burlywood",shape="box"];4608[label="vyv29100/Succ vyv291000",fontsize=10,color="white",style="solid",shape="box"];4111 -> 4608[label="",style="solid", color="burlywood", weight=9]; 4608 -> 4152[label="",style="solid", color="burlywood", weight=3]; 4609[label="vyv29100/Zero",fontsize=10,color="white",style="solid",shape="box"];4111 -> 4609[label="",style="solid", color="burlywood", weight=9]; 4609 -> 4153[label="",style="solid", color="burlywood", weight=3]; 4149[label="Pos (Succ vyv27100)",fontsize=16,color="green",shape="box"];4150[label="primModNatS0 (Succ vyv292000) (Succ vyv291000) (primGEqNatS (Succ vyv292000) (Succ vyv291000))",fontsize=16,color="black",shape="box"];4150 -> 4158[label="",style="solid", color="black", weight=3]; 4151[label="primModNatS0 (Succ vyv292000) Zero (primGEqNatS (Succ vyv292000) Zero)",fontsize=16,color="black",shape="box"];4151 -> 4159[label="",style="solid", color="black", weight=3]; 4152[label="primModNatS0 Zero (Succ vyv291000) (primGEqNatS Zero (Succ vyv291000))",fontsize=16,color="black",shape="box"];4152 -> 4160[label="",style="solid", color="black", weight=3]; 4153[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4153 -> 4161[label="",style="solid", color="black", weight=3]; 4158 -> 4341[label="",style="dashed", color="red", weight=0]; 4158[label="primModNatS0 (Succ vyv292000) (Succ vyv291000) (primGEqNatS vyv292000 vyv291000)",fontsize=16,color="magenta"];4158 -> 4342[label="",style="dashed", color="magenta", weight=3]; 4158 -> 4343[label="",style="dashed", color="magenta", weight=3]; 4158 -> 4344[label="",style="dashed", color="magenta", weight=3]; 4158 -> 4345[label="",style="dashed", color="magenta", weight=3]; 4159[label="primModNatS0 (Succ vyv292000) Zero True",fontsize=16,color="black",shape="box"];4159 -> 4168[label="",style="solid", color="black", weight=3]; 4160[label="primModNatS0 Zero (Succ vyv291000) False",fontsize=16,color="black",shape="box"];4160 -> 4169[label="",style="solid", color="black", weight=3]; 4161[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];4161 -> 4170[label="",style="solid", color="black", weight=3]; 4342[label="vyv292000",fontsize=16,color="green",shape="box"];4343[label="vyv291000",fontsize=16,color="green",shape="box"];4344[label="vyv292000",fontsize=16,color="green",shape="box"];4345[label="vyv291000",fontsize=16,color="green",shape="box"];4341[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS vyv332 vyv333)",fontsize=16,color="burlywood",shape="triangle"];4610[label="vyv332/Succ vyv3320",fontsize=10,color="white",style="solid",shape="box"];4341 -> 4610[label="",style="solid", color="burlywood", weight=9]; 4610 -> 4374[label="",style="solid", color="burlywood", weight=3]; 4611[label="vyv332/Zero",fontsize=10,color="white",style="solid",shape="box"];4341 -> 4611[label="",style="solid", color="burlywood", weight=9]; 4611 -> 4375[label="",style="solid", color="burlywood", weight=3]; 4168 -> 4034[label="",style="dashed", color="red", weight=0]; 4168[label="primModNatS (primMinusNatS (Succ vyv292000) Zero) (Succ Zero)",fontsize=16,color="magenta"];4168 -> 4179[label="",style="dashed", color="magenta", weight=3]; 4168 -> 4180[label="",style="dashed", color="magenta", weight=3]; 4169[label="Succ Zero",fontsize=16,color="green",shape="box"];4170 -> 4034[label="",style="dashed", color="red", weight=0]; 4170[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];4170 -> 4181[label="",style="dashed", color="magenta", weight=3]; 4170 -> 4182[label="",style="dashed", color="magenta", weight=3]; 4374[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS (Succ vyv3320) vyv333)",fontsize=16,color="burlywood",shape="box"];4612[label="vyv333/Succ vyv3330",fontsize=10,color="white",style="solid",shape="box"];4374 -> 4612[label="",style="solid", color="burlywood", weight=9]; 4612 -> 4376[label="",style="solid", color="burlywood", weight=3]; 4613[label="vyv333/Zero",fontsize=10,color="white",style="solid",shape="box"];4374 -> 4613[label="",style="solid", color="burlywood", weight=9]; 4613 -> 4377[label="",style="solid", color="burlywood", weight=3]; 4375[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS Zero vyv333)",fontsize=16,color="burlywood",shape="box"];4614[label="vyv333/Succ vyv3330",fontsize=10,color="white",style="solid",shape="box"];4375 -> 4614[label="",style="solid", color="burlywood", weight=9]; 4614 -> 4378[label="",style="solid", color="burlywood", weight=3]; 4615[label="vyv333/Zero",fontsize=10,color="white",style="solid",shape="box"];4375 -> 4615[label="",style="solid", color="burlywood", weight=9]; 4615 -> 4379[label="",style="solid", color="burlywood", weight=3]; 4179[label="Zero",fontsize=16,color="green",shape="box"];4180 -> 3880[label="",style="dashed", color="red", weight=0]; 4180[label="primMinusNatS (Succ vyv292000) Zero",fontsize=16,color="magenta"];4180 -> 4188[label="",style="dashed", color="magenta", weight=3]; 4181[label="Zero",fontsize=16,color="green",shape="box"];4182 -> 3882[label="",style="dashed", color="red", weight=0]; 4182[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];4376[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS (Succ vyv3320) (Succ vyv3330))",fontsize=16,color="black",shape="box"];4376 -> 4380[label="",style="solid", color="black", weight=3]; 4377[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS (Succ vyv3320) Zero)",fontsize=16,color="black",shape="box"];4377 -> 4381[label="",style="solid", color="black", weight=3]; 4378[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS Zero (Succ vyv3330))",fontsize=16,color="black",shape="box"];4378 -> 4382[label="",style="solid", color="black", weight=3]; 4379[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];4379 -> 4383[label="",style="solid", color="black", weight=3]; 4188[label="vyv292000",fontsize=16,color="green",shape="box"];4380 -> 4341[label="",style="dashed", color="red", weight=0]; 4380[label="primModNatS0 (Succ vyv330) (Succ vyv331) (primGEqNatS vyv3320 vyv3330)",fontsize=16,color="magenta"];4380 -> 4384[label="",style="dashed", color="magenta", weight=3]; 4380 -> 4385[label="",style="dashed", color="magenta", weight=3]; 4381[label="primModNatS0 (Succ vyv330) (Succ vyv331) True",fontsize=16,color="black",shape="triangle"];4381 -> 4386[label="",style="solid", color="black", weight=3]; 4382[label="primModNatS0 (Succ vyv330) (Succ vyv331) False",fontsize=16,color="black",shape="box"];4382 -> 4387[label="",style="solid", color="black", weight=3]; 4383 -> 4381[label="",style="dashed", color="red", weight=0]; 4383[label="primModNatS0 (Succ vyv330) (Succ vyv331) True",fontsize=16,color="magenta"];4384[label="vyv3320",fontsize=16,color="green",shape="box"];4385[label="vyv3330",fontsize=16,color="green",shape="box"];4386 -> 4034[label="",style="dashed", color="red", weight=0]; 4386[label="primModNatS (primMinusNatS (Succ vyv330) (Succ vyv331)) (Succ (Succ vyv331))",fontsize=16,color="magenta"];4386 -> 4388[label="",style="dashed", color="magenta", weight=3]; 4386 -> 4389[label="",style="dashed", color="magenta", weight=3]; 4387[label="Succ (Succ vyv330)",fontsize=16,color="green",shape="box"];4388[label="Succ vyv331",fontsize=16,color="green",shape="box"];4389 -> 4196[label="",style="dashed", color="red", weight=0]; 4389[label="primMinusNatS (Succ vyv330) (Succ vyv331)",fontsize=16,color="magenta"];4389 -> 4390[label="",style="dashed", color="magenta", weight=3]; 4389 -> 4391[label="",style="dashed", color="magenta", weight=3]; 4390[label="Succ vyv331",fontsize=16,color="green",shape="box"];4391[label="Succ vyv330",fontsize=16,color="green",shape="box"];} ---------------------------------------- (947) Obligation: Q DP problem: P is empty. R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (948) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (949) YES